Lecture de fichier en php
Fermé
tonio
-
30 avril 2008 à 16:34
Toni-o Messages postés 3 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 5 mai 2008 - 5 mai 2008 à 12:21
Toni-o Messages postés 3 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 5 mai 2008 - 5 mai 2008 à 12:21
A voir également:
- Lecture de fichier en php
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
- Comment réduire la taille d'un fichier - Guide
2 réponses
sly-bzh
Messages postés
415
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
5 décembre 2009
118
30 avril 2008 à 19:07
30 avril 2008 à 19:07
Bonjour,
Si tu auras toujours des chiffres et des virgules SEULEMENT, et je suppose que c'est le cas, tu peux utiliser les expressions rationnelles :
Si tu auras toujours des chiffres et des virgules SEULEMENT, et je suppose que c'est le cas, tu peux utiliser les expressions rationnelles :
// Tout d'abord tu met ton texte dans un fichier .txt que tu va ouvrir et lire $contenuFichier = file_get_contents("ton_fichier.txt"); // L'expression rationnelle $expressionRationnelle = "#\(([0-9\,]*)\)*#"; $resultat = Array(); preg_match_all($expressionRationnelle, $contenuFichier, $resultat, PREG_PATTERN_ORDER); // Et enfin on affiche le résultat echo "<pre>"; print_r($resultat); echo "</pre>";
sly-bzh
Messages postés
415
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
5 décembre 2009
118
1 mai 2008 à 14:55
1 mai 2008 à 14:55
si tu veux un peu plus d'explication je peux te la détailler :
$expressionRationnelle = "#\(([0-9\,]*)\)*#";
"# : indique le début de l'expression rationnelle
\( : on a une ouverture de parenthèse. Il est obligé de l'échappée, la parenthèse étant utilisée pour une fonction spéciale
[0-9\,]* : on a ensuite un/des chiffres entre 0 et 9 et/ou une/des virgules. Là encore il est obligé d'échapper la virgule qui a également une fonction spéciale quand elle est utilisée seule.
\) : et enfin on a une parenthèse qui se ferme
#" : indique la fin de l'expression rationnelle.
et pour pouvoir récupérer des valeurs précises, on met entre parenthèse ce que l'on veut avoir. Ici j'ai mis entre parenthèse [0-9\,]* parceque tu voulais récupérer les chiffres. Si tu voulais récupérer également les parenthèses par exemple tu aurais mis : "#(\([0-9\,]*\)*)#";
Voilà je ne sais pas si j'ai été très clair... Si tu veux avoir un tutoriel clair celui du site du zéro est pas mal du tout : ICI
Et pour la fonction preg_match_all() je te renvois directement vers la documentation officielle
$expressionRationnelle = "#\(([0-9\,]*)\)*#";
"# : indique le début de l'expression rationnelle
\( : on a une ouverture de parenthèse. Il est obligé de l'échappée, la parenthèse étant utilisée pour une fonction spéciale
[0-9\,]* : on a ensuite un/des chiffres entre 0 et 9 et/ou une/des virgules. Là encore il est obligé d'échapper la virgule qui a également une fonction spéciale quand elle est utilisée seule.
\) : et enfin on a une parenthèse qui se ferme
#" : indique la fin de l'expression rationnelle.
et pour pouvoir récupérer des valeurs précises, on met entre parenthèse ce que l'on veut avoir. Ici j'ai mis entre parenthèse [0-9\,]* parceque tu voulais récupérer les chiffres. Si tu voulais récupérer également les parenthèses par exemple tu aurais mis : "#(\([0-9\,]*\)*)#";
Voilà je ne sais pas si j'ai été très clair... Si tu veux avoir un tutoriel clair celui du site du zéro est pas mal du tout : ICI
Et pour la fonction preg_match_all() je te renvois directement vers la documentation officielle
Toni-o
Messages postés
3
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mai 2008
1 mai 2008 à 22:21
1 mai 2008 à 22:21
Merci beaucoup pour tes explications. Je connaissais le site du zéro mais j'avoue que je n'avais pas fait le tuto sur les expressions régulières. Je pense qu'avec tes explications je vais pouvoir bien avancer sur mon projet merci!
Toni-o
Messages postés
3
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mai 2008
5 mai 2008 à 12:21
5 mai 2008 à 12:21
Salut,
j'ai utilisé ton code et ca marche très bien.
J'ai par contre d'autres questions.
voici le fichier:
xtheo=[2.0000;2.0000;2.0000;2.0000;2.0000;2.0000;2.0000;2.0000;];
ytheo=[0.0000;0.0660;0.1684;0.2762;0.3775;0.4775;0.5800;0.6841;];
J'aimerais récupérer les nombres et les mettre dans des variables.
Par exemple: x1=2.0000 y1= 0.0000 x2=2.0000 y2=0.0660.
Voici mon code mais j'ai un problème pour récupérer les nombres et naviguer dans le tableau de valeur.
// Tout d'abord tu met ton texte dans un fichier .txt que tu va ouvrir et lire
$contenuFichier = file_get_contents("pekee.txt");
// L'expression rationnelle
$expressionRationnelle = "#(\[[0-9\.0-9;]*\])*#";
$resultat = Array();
preg_match_all($expressionRationnelle, $contenuFichier, $resultat, PREG_PATTERN_ORDER);
// Et enfin on affiche le résultat
echo "<pre>";
print_r($resultat);
echo "</pre>";
Si vous avez une idée, merci d'avance!
j'ai utilisé ton code et ca marche très bien.
J'ai par contre d'autres questions.
voici le fichier:
xtheo=[2.0000;2.0000;2.0000;2.0000;2.0000;2.0000;2.0000;2.0000;];
ytheo=[0.0000;0.0660;0.1684;0.2762;0.3775;0.4775;0.5800;0.6841;];
J'aimerais récupérer les nombres et les mettre dans des variables.
Par exemple: x1=2.0000 y1= 0.0000 x2=2.0000 y2=0.0660.
Voici mon code mais j'ai un problème pour récupérer les nombres et naviguer dans le tableau de valeur.
// Tout d'abord tu met ton texte dans un fichier .txt que tu va ouvrir et lire
$contenuFichier = file_get_contents("pekee.txt");
// L'expression rationnelle
$expressionRationnelle = "#(\[[0-9\.0-9;]*\])*#";
$resultat = Array();
preg_match_all($expressionRationnelle, $contenuFichier, $resultat, PREG_PATTERN_ORDER);
// Et enfin on affiche le résultat
echo "<pre>";
print_r($resultat);
echo "</pre>";
Si vous avez une idée, merci d'avance!
1 mai 2008 à 14:08