Ecrire et lire dans un fichier texte
fopen( ), fgets( ), fseek( ), fputs( ), fclose( ) Tuto original de FABRICE POTEC, revu par LionZion, Molokai et Raf en août 2004
Nous allons voir ici comment l'on peut ouvrir et lire
depuis un fichier se trouvant sur un serveur FTP, le vôtre en l'occurrence.
Pour commencer vous créez un fichier de type *.txt
(vous pouvez mettre l'extension que vous voulez, voire pas du tout) et
nous placerons le fichier dans le même répertoire que le script PHP.
|
|
Contenu du fichier data.txt
|
Donne comme résultat l'écran
|
1523 |
Le fichier contient : 1523
|
Le code PHP data.php
(ne copier/coller pas ce code dans votre éditeur, retapez-le ou gare aux erreurs...)
|
<?
$fp =
fopen("data.txt","r");
//(1)
$donnees =
fgets($fp,255);
//(2)
fclose($fp);
//(3)
//Affichage du résultat -----------
echo'Le fichier contient :
'.$donnees;
?>
|
|
|
Vous le voyez il est relativement simple de lire ce qui se trouve dans un fichier :
1 . On ouvre le fichier "data.txt "
en lecture seule " r " avec la
fonction fopen().
2 . La lecture s'effectue avec la fonction fgets()
et on spécifie le nombre de caractères (ici 255
soit la première ligne).
3 . Ensuite il ne reste plus qu'à refermer le fichier texte c'est la
fonction fclose().
4 . Enfin on affiche le résultat , c'est la variable $donnees
qui contient "1523".
Revenons à la première ligne. La commande " r
" indique que l'on ouvre le fichier uniquement en lecture
seule. Nous allons voir ci-dessous que pour l'ouvrir en lecture/écriture,
il suffit de mettre " r+ ".
Concernant la seconde fonction fgets(), on
spécifie le nombre de caractères que l'on veut lire dans le fichier (255).
Dans notre cas nous aurions très bien pu mettre ($fp,4);
puisque 1523 ne comporte que 4
caractères = logique. Ceci dit, le fait de mettre systématiquement 255
n'engendre pas de problème dans notre cas, sachez tout de même que 255
est le nombre maximum de caractères par ligne, le 256e
passera à la ligne automatiquement à l'affichage.
Et devant vous yeux englués de bonheur :), voici le code php qui va
vous permettre de réaliser un compteur de page. Notez qu'ici le fichier
texte s'appelle compteur.txt.
|
|
Le code PHP de compteur.php
(ne copier/coller pas ce code dans votre éditeur, retapez-le ou gare aux erreurs...) |
<?
$fp = fopen("compteur.txt","r+"); //
1.On ouvre le fichier en lecture/écriture
$nbvisites = fgets($fp,11); //
2.On récupère le nombre dans le fichier
$nbvisites++; //
3.On incrémente le nombre de visites(+1)
fseek($fp,0); //
4.On se place en début de fichier
fputs($fp,$nbvisites); //
5.On écrit dans le fichier le nouveau nb
fclose($fp); //
6.On ferme le fichier
print("$nbvisites visiteurs");
// 7.On affiche le compteur
à l'écran
?> |
|
|
Il vous suffit de placer ce code dans la page un index.php
de votre site. Ici la fonction fseek()
permet de se replacer où l'on veut en l'occurrence "0"
, donc au début, ensuite avec fputs() on
écrit dans le fichier à l'endroit spécifié.
Pour finir avec les fichiers, n'oubliez pas que votre
fichier texte qui se trouve sur votre FTP doit avoir avoir tous les
droits (chmode 777) pour que le script puisse y écrire.
A savoir : PHP
permet également de créer et effacer des fichiers sur un serveur
distant (FTP), je vous conseille de lire la documentation NEXEN
ci-dessous pour en savoir encore plus.
|
|