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

Eléphant du PHP | 355 Messages

19 nov. 2005, 17:58

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 ?

Eléphant du PHP | 440 Messages

19 nov. 2005, 18:19

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

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

19 nov. 2005, 18:24

- Tu cherche dans les scripts deja fais sur les sites spécialisés
en voila un

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 355 Messages

19 nov. 2005, 18:32

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");   

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

19 nov. 2005, 18:36

le mieux c'est de regarder la doc sur ces fonctions:
fopen()
fgets() avec un exemple qui va lire tous le fichier

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

19 nov. 2005, 18:36

$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

Eléphant du PHP | 355 Messages

19 nov. 2005, 18:48

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.

Eléphant du PHP | 440 Messages

19 nov. 2005, 18:51

<? 
$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

Eléphant du PHP | 355 Messages

19 nov. 2005, 19:09

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

Eléphant du PHP | 440 Messages

19 nov. 2005, 19:17

<? 
$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é

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

19 nov. 2005, 19:19

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;
?>

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 355 Messages

19 nov. 2005, 19:28

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;
?>

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

19 nov. 2005, 19:34

il maque un point virgule
$text="";
c'est aussi bien comme ça, du moment que tu comprend le fonctionnement :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 355 Messages

19 nov. 2005, 19:47

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.

Mammouth du PHP | 983 Messages

19 nov. 2005, 19:51

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é!';