Académique Documents
Professionnel Documents
Culture Documents
Tentons maintenant de lire et d'écrire dans un fichier texte, fichier se trouvant sur votre serveur FTP.
Afin de mettre en pratique cet exercice, vous allez créer un fichier donnees.txt que vous allez placer dans
le même répertoire que le script PHP.
exemple1.php
1. <?php
2. // Instruction 1
3. $fp = fopen ("donnees.txt", "r");
4. // Instruction 2
5. $contenu_du_fichier = fgets ($fp,
255);
6. // Instruction 3
7. fclose ($fp);
8. // Instruction 4
9. echo 'Notre fichier contient : '.
$contenu_du_fichier;
10. ?>
Aparté
Vous n'êtes absolument pas oblige de mettre ce fichier texte dans le même répertoire que le script PHP.
En effet, si votre script PHP est à la racine de votre site et que le fichier à lire se trouve dans le répertoire
/toto, vous écrirez alors votre script de la manière suivante :
exemple2.php
1. <?php
2. $fp = fopen ("toto/donnees.txt", "r");
3. $contenu_du_fichier = fgets ($fp, 255);
4. fclose ($fp);
5. echo 'Notre fichier contient : '.$contenu_du_fichier;
6. ?>
Tachons maintenant de voir un exemple concret de lecture et d'écriture dans un fichier texte. En effet,
nous allons réaliser un mini compteur de visites fait grâce à PHP et aux lecture/écriture dans un fichier
texte.
Tout d'abord vous allez créer un fichier compteur.txt que vous allez placer dans le même répertoire que
le script qui va suivre. Placez le chiffre "0" dans ce fichier.
exemple3.php
1. <?php
2. // Instruction 1
3. $fp = fopen ("compteur.txt", "r+");
4. // Instruction 2
5. $nb_visites = fgets ($fp, 11);
6. // Instruction 3
7. $nb_visites = $nb_visites + 1;
8. // Instruction 4
9. fseek ($fp, 0);
10. // Instruction 5
11. fputs ($fp, $nb_visites);
12. // Instrcution 6
13. fclose ($fp);
14. // Instrcution 7
15. echo 'Ce site compte '.$nb_visites.' visiteurs !';
16. ?>
On a alors :
exemple1.php
1. <html>
2. <head>
3. <title>Ma page de test</title>
4. </head>
5. <body>
6. <form action = "traitement.php"
method="post">
7. Votre nom : <input type = "text"
name = "nom"><br />
8. Votre fonction : <input type =
"text" name = "fonction"><br />
9. <input type = "submit" value =
"Envoyer">
10. </form>
11. </body>
12. </html>
Puis, lorsque l'utilisateur cliquera sur le bouton "Envoyer", les données du formulaire seront envoyées sur
la page traitement.php.
Et dans la page traitement.php, nous allons récupérer une variable de type tableau ($_POST : car notre
formulaire a comme method la valeur post).
En clair, dans la page traitement.php, on aura une variable $_POST['nom'] qui contiendra la chaîne de
caractères qu'aura saisi le visiteur dans le champ "Votre nom : " (on a la variable $_POST['nom'], car
dans l'attribut name de notre formulaire pour le champ concernant le nom).
De même, on aura une variable $_POST['fonction'] qui contiendra la chaîne de caractères qu'aura saisi le
visiteur dans la champ "Votre fonction : " (encore une fois, on a la variable $_POST['fonction'] car
l'attribut name du champ prend la valeur fonction).
exemple2.php
1. <html>
2. <head>
3. <title>Ma page de traitement</title>
4. </head>
5. <body>
6. <?
7. // on teste la déclaration de nos variables
8. if (isset($_POST['nom']) && isset($_POST['fonction'])) {
9. // on affiche nos résultats
10. echo 'Votre nom est '.$_POST['nom'].' et votre fonction est '.
$_POST['fonction'];
11. }
12. ?>
13. </body>
14. </html>
En supposant que l'on écrive "LA GLOBULE" dans le champ "Votre nom" et "Webmaster" dans le champ
"Votre fonction", on verra alors s'afficher à l'écran :
Votre nom est LA GLOBULE et votre fonction est Webmaster
PS : dans le cas où le formulaire utilise une méthode get, nous utilisons la variable tableau $_GET.
Voyons maintenant le cas des formulaires munis d'un champ de type file (formulaire permettant le
téléchargement de fichiers sur votre site).
Imaginons que l'on ai le formulaire suivant :
exemple3.php
1. <html>
2. <head>
3. <title>Ma page de test</title>
4. </head>
5. <body>
6. <form action = "traitement.php" method="post" enctype="multipart/form-data">
7. Votre fichier : <input type = "file" name = "mon_fichier"><br />
8. <input type = "hidden" name="MAX_FILE_SIZE" value="20000">
9. <input type = "submit" value = "Envoyer">
10. </form>
11. </body>
12. </html>
Pour récupérer votre fichier, vous avez à votre disposition le tableau $_FILES qui aura plusieurs entrées :
Naturellement, vous pourrez utiliser ces valeurs pour tester votre fichier.
Si il correspond à vos attentes, vous pourrez finaliser votre téléchargement à l'aides des fonctions copy
ou move_uploaded_file (afin de copier le fichier téléchargé sur le disque dur du serveur).