> Lire et écrire dans un fichier
En Php pour accéder aux informations d'un fichier il faut d'adord ouvrir le fichier puis lires les informations, pour ouvrir un fichier il existe plusieurs méthodes, en lecture, écriture et ajout.
Votre fichier texte par contre peut contenir du code Html; Php interprèteras les balises Html.
> Overture avec la fonction fopen, fread & fgets
Pour ouvrir un fichier on utilise la fonction fopen() de la manière suivante.
fopen("nom_du_fichier.txt",'méthode d'ouverture')
fread(fichier ouvert, nombres de caractères )
les méthodes d'ouverture s'exprime avec les caractères suivant :
w : ouvre le fichier pour écriture, et détruit les données si le fichier en contient
w+ : comme ci dessus mais crée le fichier si celui ci n'éxiste pas
a : ouvre le fichier pour ajouter de nouvelles données
a+ : comme ci-dessus mais crée le fichier si celui n'existe pas
r : ouvre le fichier en lecture seulement
r+ : ouvre le fichier en lecture et écriture ( voir utilisation fonction fseek() )
Exemple classique : on ouvre fichier.txt et on lit les données
<?
$info=fopen("fichier.txt",'r'); // ici on ouvre le fichier.txt en lecture uniquement et on le mémorise dans la variable $info
$caracteres=fread($info,256); // On lis les données jusqu'au caractère 256
echo $caracteres; // affichage des données
?>
|
Pour lire dans des fichiers on utilise la fonction fread(fichier ouver, nombre de caractères à lire)
Voir : 
fgets(fichier ouvert, nombres de caractères )
Exemple : on utilise la fonction fgets pour lire une ligne
<?
$info=fopen("fichier.txt",'r'); // ici on ouvre le fichier.txt en lecture uniquement et on le mémorise dans la variable $info
$ligne=fgets($info,1024); // On lis uniquement la première ligne dans $ligne en fichier texte une ligne ne dépace pas 1024 caractères
$ligne2=fgets($info,1024); // On lis uniquement la deusième ligne
echo $ligne."<br>"; // affichage de la première ligne
echo $ligne2; // affichage de la deusième ligne
?>
|
Dans cette exemple vous avez remarqué que l'on peut lire ligne par ligne celà la vient du fait qu'avec la fonction fgets le curseurs (ou pointeur) s'arrête aux derniers caractères lus et en ré-utilisant cette fonction elle s'applique automatiquement aux caractères suivant dans notre cas la ligne n°2, notez que de cette manière on peut utiliser une boucle.
Voir : 
> Overture et écriture d'un fichier avec fwrite ou fputs
fwrite(fichier ouvert,"texte à écrire dans le fichier" )
Pour écrire dans un fichier on utilse la fonction fwrite() de la manière suivante. on procéde de la même façon mais avec fwrite(), il est important de fermer les l'ouverture du fichier grâce à la fonction fclose(); la fonction fputs fonctionne exactement de la même manière que fwrite
<?
$info=fopen("fichier.txt",'w'); // On ouvre le fichier en écriture avec w qui affaceras le contenus complet du fichier s'il n'est pas vide alors que si nous avons utiliser "a" les informations se serais mise dans le fichier à la suite des autres.
$a="voici la ligne 1\n";// On saisie nos données dans $a notez que \n nignifis au fichier texte un retour chariot (une ligne indépendante)
$b="voici la ligne 2\n"; // saisie une autre ligne
$data=$a.$b; // On combine l'ensemble de nos données dans le $data
fwrite($info,$data); // On écrit grâce à la fonction fwrite dans le fichier
echo "écriture terminée !"; // affichage des données
?>
|