par
sadeq » 08 juin 2005, 10:19
En fait, toi tu utilise la fonction file qui retourne un tableau rempli à partir du fichiers lu. Cette fonction effectue automatiquement donc tous ce que tu peux faire manuellement avec les commande que t'as présenté notre ami zzzZZZZ (le renfleur).
Donc t'as deux méthodes la tienne (file et le tableau) et la sienne (fopen, fgets, fclose)
Voici un programme qui fait la même chose que celui que tu a présenté en utilisant les fonction d'accès au fichiers :
//Ton code
$TabLivre=file("illustre.txt");
//L'équivalent
$f = fopen("illustre.txt", "r"); //le "r" pour l'ouverture en lecture (read)
$TabLivre= null; //initialiser le tableau résultat
while (! feof($f)) { //boucle tantque pas fin du fichier $f
$ligne = fgets($f); //Lire une ligne
if ($ligne != null) $TabLivre[] = $ligne; //et la stocker dans une nouvelle case du tableau
}//fin de while
fclose($f); //fermer le fichier
//Affichage
$message = "<table><legend>Contenu du fichier</legend>";
if ($TabLivre != null){
foreach ($TabLivre as $ligne)
$message .= "<tr><td>$ligne</td></tr>";
}else $message .= "<tr><td>Fichier vide!</td></tr>";
$message .= "</table>";
Après la lecture du fichier le tableau $TabLivre est soit nul ou rempli.
La fonction file fait la même chose. Moi je la préfère pour simplifier la programmation à condition qu'on ne souhaite pas filtrer le contenu lu. Dans ce cas la méthode séquentielle (lecture ligne par ligne) est prévilègiée.
Ô concernant ton textearea : saches que ce dernier ajoute automatiquement les retours à la ligne dans le texte saisi. Le problème est quand tu utilise file pour lire le fichier, cette fonction supprime les retours à la ligne puisqu'elle renvoi chaque ligne dans une case du tableau.
C'est à toi d'écrire le contenu du textearea ligne par ligne à partir du tableau.
Exemple :
Code : Tout sélectionner
echo "<textarea name=texte>";
if ($TabLivre != null){
foreach ($TabLivre as $ligne)
echo $ligne;
}
echo "</textarea>";
En fait, toi tu utilise la fonction file qui retourne un tableau rempli à partir du fichiers lu. Cette fonction effectue automatiquement donc tous ce que tu peux faire manuellement avec les commande que t'as présenté notre ami zzzZZZZ (le renfleur).
Donc t'as deux méthodes la tienne (file et le tableau) et la sienne (fopen, fgets, fclose)
Voici un programme qui fait la même chose que celui que tu a présenté en utilisant les fonction d'accès au fichiers :
[php]//Ton code
$TabLivre=file("illustre.txt"); [/php]
[php]//L'équivalent
$f = fopen("illustre.txt", "r"); //le "r" pour l'ouverture en lecture (read)
$TabLivre= null; //initialiser le tableau résultat
while (! feof($f)) { //boucle tantque pas fin du fichier $f
$ligne = fgets($f); //Lire une ligne
if ($ligne != null) $TabLivre[] = $ligne; //et la stocker dans une nouvelle case du tableau
}//fin de while
fclose($f); //fermer le fichier
//Affichage
$message = "<table><legend>Contenu du fichier</legend>";
if ($TabLivre != null){
foreach ($TabLivre as $ligne)
$message .= "<tr><td>$ligne</td></tr>";
}else $message .= "<tr><td>Fichier vide!</td></tr>";
$message .= "</table>";
[/php]
Après la lecture du fichier le tableau $TabLivre est soit nul ou rempli.
La fonction file fait la même chose. Moi je la préfère pour simplifier la programmation à condition qu'on ne souhaite pas filtrer le contenu lu. Dans ce cas la méthode séquentielle (lecture ligne par ligne) est prévilègiée.
Ô concernant ton textearea : saches que ce dernier ajoute automatiquement les retours à la ligne dans le texte saisi. Le problème est quand tu utilise file pour lire le fichier, cette fonction supprime les retours à la ligne puisqu'elle renvoi chaque ligne dans une case du tableau.
C'est à toi d'écrire le contenu du textearea ligne par ligne à partir du tableau.
Exemple :
[code]echo "<textarea name=texte>";
if ($TabLivre != null){
foreach ($TabLivre as $ligne)
echo $ligne;
}
echo "</textarea>";[/code]