8798 sujets

Développement web côté serveur, CMS

Bonjour à tous j'ai voulu réaliser une routine qui, à partir d'un fichier texte contenant la liste des fichiers images d'un dossier, crée dans un fichier texte un embryon de code php. Lorsque je lance ma routine chaque fois que l'on rencontre > je retrouve un saut de ligne dans le fichier de sortie.
Voici la routine :
<?php
$handle=Fopen("resultats.txt","a");
$Fp=Fopen("essi4.txt","r");
while(!feof($Fp))
{
$ligne =fgets($Fp);

$result= "<a href=visualisation.php?ref=$ligne><img src=Galerie/2009/thumbnail/$ligne.jpg</a>";

fputs($handle,$result,);
}
Fclose($Fp);
Fclose($handle);

?>

qui devrait me permettre de retrouver dans le fichier resultats.txt des lignes du type
<a href=visualisation.php?ref=DSCN4145><img src=Galerie/2009/thumbnail/ DSCN4145.jpg</a>";

En réalité j'obtiens
<a href=visualisation.php?ref=DSCN4145
><img src=Galerie/2009/thumbnail/ DSCN4145.jpg</a
>

Le caractère > semble induire un saut de ligne

Comment faire ? merci de votre aide
essaie en remplaçant la ligne

$result= "<a href=visualisation.php?ref=$ligne><img src=Galerie/2009/thumbnail/$ligne.jpg</a>";


par

$ligne  = trim( $ligne );
$result = '<a href="visualisation.php?" ref="' . $ligne . '">'.
          '<img src="Galerie/2009/thumbnail/' . $ligne . '.jpg"/>'.
          '</a>' . PHP_EOL ;


Chez moi ça marche

edit: trim mal copié collé et corections

edit2: pour l'explication, en lisant ton fichier texte, fgets() récupère également le caractère de saut de ligne qui se trouve en fin de ligne. la fonction trim() permet, ici, de l'enlever.
Modifié par niahoo (19 Jul 2010 - 16:39)
Merci cela marche il suffisait de savoir que fgets() récupère le saut de ligne et l'existence de la constante PHP_EOL

Merci encore on peut considérer le post comme résolu