je suis en train de tenter de réaliser un petit script, mais je bloque sur un problème.
- J'ai un fichier "upload.txt' situé dans un répertoire de mon serveur.
- Je cherche une valeur (dans l'exemple, mon pseudo : corneliux) dans ce fichier. NB : la valeur apparait plusieurs fois dans le fichier.
- Je parviens à trouver cette valeur.
- Mais ce que je veux mettre en variable, ce n'est pas cette ligne, mais la ligne suivante, et ça, je ne sais pas faire.
Voici un extrait du fichier upload que je traite :
Code : Tout sélectionner
</groundspeak:long_description>
<groundspeak:encoded_hints>entonnoir</groundspeak:encoded_hints>
<groundspeak:logs>
<groundspeak:log id="329446625">
<groundspeak:date>2013-07-13T19:00:00Z</groundspeak:date>
<groundspeak:type>Found it</groundspeak:type>
<groundspeak:finder id="5118841">adesio</groundspeak:finder>
<groundspeak:text encoded="False">2 petits tours d église pour reperer la cache et hop
MPLC</groundspeak:text>
</groundspeak:log>
<groundspeak:log id="328375452">
<groundspeak:date>2013-07-05T19:00:00Z</groundspeak:date>
<groundspeak:type>Found it</groundspeak:type>
<groundspeak:finder id="7600084">lupauwiltho</groundspeak:finder>
<groundspeak:text encoded="False">et de 4!!!</groundspeak:text>
</groundspeak:log>
<groundspeak:log id="326162992">
<groundspeak:date>2013-06-30T19:00:00Z</groundspeak:date>
<groundspeak:type>Found it</groundspeak:type>
<groundspeak:finder id="6269532">paulterguest</groundspeak:finder>
<groundspeak:text encoded="False">en route pour l'eglise suivante:) un cache vite trouvé, malgre des voisin un petit peu curieux! merci pour la cache!</groundspeak:text>
</groundspeak:log>
<groundspeak:log id="323823069">
<groundspeak:date>2013-06-21T19:00:00Z</groundspeak:date>
<groundspeak:type>Found it</groundspeak:type>
<groundspeak:finder id="1794567">Luna49</groundspeak:finder>
<groundspeak:text encoded="False">En route vers Laon. Merci pour la cache.</groundspeak:text>
</groundspeak:log>
<groundspeak:log id="322867297">
<groundspeak:date>2013-06-16T19:00:00Z</groundspeak:date>
<groundspeak:type>Found it</groundspeak:type>
<groundspeak:finder id="5589534">Corneliux</groundspeak:finder>
<groundspeak:text encoded="False">Jour de mariage lors du premier passage, je logue tranquillement cette fois ci.</groundspeak:text>
</groundspeak:log>
</groundspeak:logs>
<groundspeak:travelbugs />
</groundspeak:cache>
</wpt>
Code : Tout sélectionner
/*******************************************************************************************/
//Lecture du fichier et extraction du TITRE et des COORDONNES DE LA CACHE
$i = 0;
$j = 0;
/*Ouverture du fichier en lecture seule*/
//$handle = fopen('fichier.gpx', 'r');
$handle = fopen('tmp/upload.txt', 'r+');
/*Si on a réussi à ouvrir le fichier*/
if ($handle){
/*Tant que l'on est pas à la fin du fichier*/
while (!feof($handle)){
/*On lit la ligne courante*/
$buffer = fgets($handle);
/*On cherche si c'est la ligne des coordonnées de la cache*/
if (preg_match("#<wpt lat=#i", "'.$buffer.'")){
//echo $buffer;
$tab_coord = explode("\"",$buffer); //coord de la cache
// echo "Longitude : ".$tab_coord[1]." Lattitude : ".$tab_coord[3]."<br>";
$tablo_lattitude[$j] = $tab_coord[1];
$tablo_longitude[$j] = $tab_coord[3];
$j++;
}
/*On cherche si c'est la ligne du nom de la cache*/
if (preg_match("#<urlname>#i", "'.$buffer.'")){
eregi("<urlname>(.*)</urlname>",$buffer,$tab_nom); //Nom de la cache
// echo "<strong>".htmlentities($tab_nom[1])."</strong><br>";
$tablo_nom[$i] = htmlentities($tab_nom[1]);
$i++;
}
/*On cherche si c'est la ligne du log du pseudo*/
if (preg_match("#>".$_POST['pseudo']."<#i", "'.$buffer.'")){
C'EST ICI QUE JE GADOUILLE ???????????????????????????????????????????
}
}
/*On ferme le fichier*/
fclose($handle);
}Quelqu'un peut m'aider ? Parce que là, je ne vois vraiment pas comment faire !!!!
Merci d'avance pour vos pistes, conseils..... solutions !