Récupération d'une partie d'un fichier
Posté : 07 oct. 2009, 19:38
par dimi3
Bonjour,
Je souhaiterais que mon programme récupére une partie d'un fichier existant (le début jusqu'à la ligne contenant "<!--*-->". Voici mon code :
$fichier=fopen("monfichier.txt", "r");
$fin = "<!--*-->";
while (! feof ($fichier))
{
$ligne = fgets($fichier);
if( $ligne == $fin )
{
break;
}
else
{
$contenu = $contenu.$ligne."\n";
}
}
fclose($fichier);
Ce code ne fait pas ce que je souhaite. Il récupère tout le fichier (sans s'arrêter à la ligne contenant <!--*-->) .
Je vous remercie de m'aider à voir mon erreur.
Re: Récupération d'une partie d'un fichier
Posté : 07 oct. 2009, 19:54
par FuZZyLine
Salut,
Bonjour,
Je souhaiterais que mon programme récupére une partie d'un fichier existant (le début jusqu'à la ligne contenant "<!--*-->". Voici mon code :
$fichier=fopen("monfichier.txt", "r");
$fin = "<!--*-->";
while (! feof ($fichier))
{
$ligne = fgets($fichier);
if( $ligne == $fin )
{
break;
}
else
{
$contenu = $contenu.$ligne."\n";
}
}
fclose($fichier);
Ce code ne fait pas ce que je souhaite. Il récupère tout le fichier (sans s'arrêter à la ligne contenant <!--*-->) .
Je vous remercie de m'aider à voir mon erreur.
Peut-être parceque ta ligne comprend un saut de ligne ou retour chariot.
Essaie avec $fin = "<!--*-->\n";
@+ bon code
PS: Ce peut être \r, \n ou \r\n... je vais juste au plus classique.
Re: Récupération d'une partie d'un fichier
Posté : 08 oct. 2009, 12:53
par dimi3
Bonjour,
J'ai essayé tous ces \n \r \n\r mais rien n'y fait.
J'ai opté pour une autre solution : concaténation de plusieurs fichiers. C'est lourd mais ça fonctionne ! ... Rien n'est parfait
Je vous remercie pour votre réponse.
Re: Récupération d'une partie d'un fichier
Posté : 29 oct. 2009, 15:15
par bakary
Ce que tu fais ne pourra jamais marcher.
Essaies ça :
$Fnm = 'test.txt';
//$inF = fopen($Fnm,"w");
//$inF = fopen($Fnm,"a");
$inF = fopen($Fnm,"r");
$str="";
$resultats=array();
while (!feof($inF))
{
$str .= fgets($inF, 255);
if (preg_match('/##/', $str)) //si les caractères sont ## sont rencontrés
{
$fd=fopen('fichier.txt',"w");//creation du fichier
fseek($fd, 0); //curseur au debut
//on insere le contenu
fputs($fd, $str);
//on ferme le flux
fclose($fd);
$str="";
}
}
fclose ($inF);
Re: Récupération d'une partie d'un fichier
Posté : 06 nov. 2009, 18:36
par dimi3
Merci beaucoup pour ce code qui me rend beaucoup service.