Page 1 sur 2

Création d’un script PHP qui affiche une image et le contenu

Posté : 19 nov. 2005, 17:58
par phpdog
Bonjour à tous :wink:

Je voudrai crée un petit script PHP qui affiche dans une page Web une zone de texte ou serai afficher le contenu d’un fichier .txt , n’ayant aucune connaissance en PHP je poste ici.
Quelqu’un saurait-il m’aider ?

Posté : 19 nov. 2005, 18:19
par DarkBlue
Bonjour,
Y a plusieurs solutions :

- Tu poste dans la rubrique emploi si tu veux que quelqu un te le fasse
- Tu cherche dans les scripts deja fais sur les sites spécialisés
- Tu te mets a PHP et nous on est la en cas de panne

Posté : 19 nov. 2005, 18:24
par Truc
- Tu cherche dans les scripts deja fais sur les sites spécialisés
en voila un

Posté : 19 nov. 2005, 18:32
par phpdog
Bonjour DarkBlue, bonjour Truc et merci beaucoup

J’ai donc récupérer ceci sur le lien que me donner Truc :
<?
$fp = fopen("texte.txt","r");   //(1)
$donnees = fgets($fp,255);     //(2)
fclose($fp);                  //(3)
//Affichage du résultat -----------
echo'Le fichier contient : '.$donnees; 
?>
Se script fonctionne presque comme voulu il affiche la première ligne du fichier texte.txt et s’arrête la, pourriez vous me dire ou m’orienter pour modifier ce script de façon à se qu’il affiche toutes les ligne du fichier texte.txt ?

Quelqu’un saurait-il me dire se que répressif le r dans :
$fp = fopen("texte.txt","r");   

Posté : 19 nov. 2005, 18:36
par Truc
le mieux c'est de regarder la doc sur ces fonctions:
fopen()
fgets() avec un exemple qui va lire tous le fichier

Posté : 19 nov. 2005, 18:36
par DarkBlue
$donnees = fgets($fp,255); 
Dans cet instruction tu demande a php de lire les 255 premiers caracteres du fichier , il faut modifier cette valeur par exemple le remplacer par
filesize("texte.txt") 
pour lire tout le fichier

Posté : 19 nov. 2005, 18:48
par phpdog
Truc >>>>

Merci pour ces deux liens ils sont très intéressant, je met en favori.

DarkBlue >>>

Vous vouliez dire comme ceci :
<?
$fp = fopen("texte.txt","r");   //(1)
filesize("texte.txt")     //(2)
fclose($fp);                  //(3)
//Affichage du résultat -----------
echo'Le fichier contient : '.$donnees; 
?>
Par-ce que comme cela sa me renvoi une erreur.

Posté : 19 nov. 2005, 18:51
par DarkBlue
<? 
$fp = fopen("texte.txt","r");   //(1) 
$donnees = fgets($fp,filesize("texte.txt");     //(2) 
fclose($fp);                  //(3) 
//Affichage du résultat ----------- 
echo'Le fichier contient : '.$donnees; 
?> 
Plutot comme ceci

Posté : 19 nov. 2005, 19:09
par phpdog
Merci pour votre patience :wink:

S'est bizzare ce code:
<? 
$fp = fopen("texte.txt","r");   //(1) 
$donnees = fgets($fp,filesize("texte.txt");     //(2) 
fclose($fp);                  //(3) 
//Affichage du résultat ----------- 
echo'Le fichier contient : '.$donnees; 
?> 
Renvoi l'erreur:

Code : Tout sélectionner

Parse error: parse error in C:\easyPHP\www\dd.php on line 3

Posté : 19 nov. 2005, 19:17
par DarkBlue
<? 
$fp = fopen("texte.txt","r");   //(1) 
$donnees = fgets($fp,filesize("texte.txt"));     //(2) 
fclose($fp);                  //(3) 
//Affichage du résultat ----------- 
echo'Le fichier contient : '.$donnees; 
?> 
autant pour moi j ai oublié une parenthese ! le code ci dessus est corrigé

Posté : 19 nov. 2005, 19:19
par Truc
il te manque une parenthse fermante a la ligne 3:

filesize("texte.txt") donne la taille du fichier complet, dans ce cas t'en aura pas besoin. A la place met 4096 (largement assez)

ensuiote il faut boucler sur la lecture du fichier, comme dans la doc sur fgets()
<?
$fp = fopen("texte.txt","r");   //ouverture du fichier

$text="" // iniotialisation de la variable qui va contenir le texte du fichier

while($donnees = fgets($fp,4096))     //on boucle tant qu'on est pas a la fin du fichier
{
   $text.=$donnees;
}
fclose($fp);                  //(3)
//Affichage du résultat -----------
echo'Le fichier contient : '.$text;
?>

Posté : 19 nov. 2005, 19:28
par phpdog
Comme ceci:
<? 
$fp = fopen("texte.txt","r");   //ouverture du fichier 

$text="" // iniotialisation de la variable qui va contenir le texte du fichier 

while($donnees = fgets($fp,4096))     //on boucle tant qu'on est pas a la fin du fichier 
{ 
   $text.=$donnees; 
} 
fclose($fp);                  //(3) 
//Affichage du résultat ----------- 
echo'Le fichier contient : '.$text; 
?> 
Le script me renvoi une erreur a la ligne 6.

Mais s'est pas grave je vien de trouver un script tout prés qui fonctionne parfaitement:
<? 
if(!$fp = file_get_contents('texte.txt')) //$fp est nul donc file_get_contents a échoué 
        echo 'La lecture du fichier a échoué !'; 


else //la lecture a été faite correctement, on affiche le résultat 
        echo $fp;
?>

Posté : 19 nov. 2005, 19:34
par Truc
il maque un point virgule
$text="";
c'est aussi bien comme ça, du moment que tu comprend le fonctionnement :wink:

Posté : 19 nov. 2005, 19:47
par phpdog
Comme ceci:
<? 
$fp = fopen("texte.txt","r");   //ouverture du fichier 

$text="" // iniotialisation de la variable qui va contenir le texte du fichier 

while($donnees = fgets($fp,4096))     //on boucle tant qu'on est pas a la fin du fichier 
{ 
   $text.=$donnees; 
} 
fclose($fp);                  //(3) 
//Affichage du résultat ----------- 
echo'Le fichier contient : '.$text""; 
?> 
Sa marche pas non plus.

Posté : 19 nov. 2005, 19:51
par rami
Essaies ceci, c'est un peu plus simple:
$nom = 'texte.txt';
if(is_file("./$nom"))
{  //le fichier existe bien
    //on recupere son contenu
    $contenu = file_get_contents($nom);
    echo $contenu;
}
else echo 'Le fichier '.$nom.' n\'a pas été trouvé!';