Besoin aide en PHP,lister un fichier
erreur404
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
voila j'ai un petit script PHP qui doit lister un fichier texte,l'afficher en somme cependant mon script pause certain probleme que je n'arive pas resoudre
voici le script
<?
if (!$fp = fopen("fichier.txt","r")) {
echo "Echec de l'ouverture du fichier";
exit;
}
else {
while(!feof($fp)) {
// On récupère une ligne
$Ligne = fgets($fp,255);
// On affiche la ligne
echo $Ligne;
// On stocke l'ensemble des lignes dans une variable
$Fichier = $Ligne;
}
fclose($fp); // On ferme le fichier
}
echo $Fichier;
?>
il est censé listé le fichier "fichier.txt" mais le souci c'est que le fichier(fichier.txt) et lui meme un script
euh je m'explik pour testé j'ai simplement mis
<? echo bonjour ?>
mais ça ne fonctionne pas...mon script ne liste rien du tout!
par contre si je met juste : echo bonjour (sans les point d'interrigation)
ben ça marche
quelqu'un pourrait t'il m'aider?
voici le script
<?
if (!$fp = fopen("fichier.txt","r")) {
echo "Echec de l'ouverture du fichier";
exit;
}
else {
while(!feof($fp)) {
// On récupère une ligne
$Ligne = fgets($fp,255);
// On affiche la ligne
echo $Ligne;
// On stocke l'ensemble des lignes dans une variable
$Fichier = $Ligne;
}
fclose($fp); // On ferme le fichier
}
echo $Fichier;
?>
il est censé listé le fichier "fichier.txt" mais le souci c'est que le fichier(fichier.txt) et lui meme un script
euh je m'explik pour testé j'ai simplement mis
<? echo bonjour ?>
mais ça ne fonctionne pas...mon script ne liste rien du tout!
par contre si je met juste : echo bonjour (sans les point d'interrigation)
ben ça marche
quelqu'un pourrait t'il m'aider?
A voir également:
- Besoin aide en PHP,lister un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
3 réponses
La facon dont tu as codé ton truc fais que tu n'enregistre dans ta variable $Fichier uniquement le dernier enregistrement de ta boucle à chaque fois.
Si tu veux tout avoir il faut remplacer :
par :
Donc, est ce que par hasard, lorsque tu as fait ton test la première fois, tu n'auais pas serait pas aller à la ligne dans ton fichier après avoir écrit <? echo bonjour ?> ? Si oui, alors le dernier enregistrement était vide, si qui fait qu'il ne t'a rien affiché.
Si lors du deuxieme essai tu n'es pas allé à la ligne dans ton fichier, il t'as écrit la première ligne correctement.
Regarde en premier si ca ne vient pas de ça plutot.
Ensuite corrige ton code et reteste.
Si ca ne marche toujours pas c'est pas normal, à moins que ton fichier soit mal ouvert ou que la fonction fgets n'arrive pas à lire.
Pour cela fais les tests suivants :
Tiens nous au courant.
Si tu veux tout avoir il faut remplacer :
$Fichier = $Ligne;
par :
$Fichier .= $Ligne;
Donc, est ce que par hasard, lorsque tu as fait ton test la première fois, tu n'auais pas serait pas aller à la ligne dans ton fichier après avoir écrit <? echo bonjour ?> ? Si oui, alors le dernier enregistrement était vide, si qui fait qu'il ne t'a rien affiché.
Si lors du deuxieme essai tu n'es pas allé à la ligne dans ton fichier, il t'as écrit la première ligne correctement.
Regarde en premier si ca ne vient pas de ça plutot.
Ensuite corrige ton code et reteste.
Si ca ne marche toujours pas c'est pas normal, à moins que ton fichier soit mal ouvert ou que la fonction fgets n'arrive pas à lire.
Pour cela fais les tests suivants :
while(!feof($fp)) { // On récupère une ligne $Ligne = fgets($fp,255); // On affiche la ligne if ( $Ligne == false ) echo "probleme lors de la lecture"; break; else { echo $Ligne; // On stocke l'ensemble des lignes dans une variable $Fichier = $Ligne; } }
Tiens nous au courant.
Salut
Tu demande à un script php, d'afficher <? echo 'bonjour'; ?>, donc tu lui demande de rouvrir des tags php, alors qu'il est déjà dans des tags php... pour moi il y a un problème ici...
Si tu veux inclure ton fichier, le plus simple je pense, serai un include('fichier');
Tchuss
Ohm-WorK
Tu demande à un script php, d'afficher <? echo 'bonjour'; ?>, donc tu lui demande de rouvrir des tags php, alors qu'il est déjà dans des tags php... pour moi il y a un problème ici...
Si tu veux inclure ton fichier, le plus simple je pense, serai un include('fichier');
Tchuss
Ohm-WorK
Ha oui, vu comme ca la question est différente ^^
En fait, si tu veux que ton texte s'affiche correctement (qu'il ne soit pas interprété), il faut que tu ouvre le place dans une DIV comme suit :
Code non testé mais l'idée est là.
En fait, si tu veux que ton texte s'affiche correctement (qu'il ne soit pas interprété), il faut que tu ouvre le place dans une DIV comme suit :
<!-- Fonction pour mettre à jour le contenu de la div --> <script> function addTexteToDiv ( texte, divLabel ){ document.getElementById('divLabel').innerHTML = texte; } </script> <!--- DIV d'affichage --> <DIV id="affichage"> </DIV> <? if (!$fp = fopen("fichier.txt","r")) { echo "<script>addTexteToDiv('affichage','Echec de l'ouverture du fichier');"; exit; } else { while(!feof($fp)) { // On récupère une ligne $Ligne = fgets($fp,255); // On affiche la ligne echo $Ligne; // On stocke l'ensemble des lignes dans une variable $Fichier = $Ligne; } fclose($fp); // On ferme le fichier } echo "<script>addTexteToDiv('affichage','".$Fichier."')</script>"; ?>
Code non testé mais l'idée est là.