Comme beaucoup de langages de programmation, PHP permet de manipuler les fichiers. Toutes les opérations standard sont disponibles:
- Lecture
- Ecriture
- Renommage
- Déplacement
- Copie
- Effacement
- La lecture :
Afin de modifier ou créer un fichier, il faut tout d'abord effectuer une connection vers le fichier concerné.
Cette connection s'effectue à l'aide de la fonction fopen()
Par exemple,
Code :
$fichier = fopen("fichier.txt", "w+");
- Le premier paramètre, fichier.txt est le nom du fichier sur lequel effectuer la connexion.
- Le deuxieme paramètre, w+ est le mode d'ouverture. Ici, lecture/ecriture
signification des modes d'ouverture :
r ouverture en lecture seule (read)
w Ouverture en ecriture seule (write), le fichier est créé s'il n'existe pas.
r+ Ouverture en lecture/ecriture
w+ Ouverture en lecture/ecriture, le fichier est créé s'il n'existe pas; s'il existe, il est préalablement remis à zero
a Ouverture en ecriture (append), le fichier est créé s'iln'existe pas; s'il existe le pointeur est placé à la fin de celui-ci.
a+ Ouverture en lecture/ecriture(append), le fichier est créé s'il n'existe pas; s'il existe le pointeur est placé à la fin de celui-ci.
Une fois ouvert, un fichier se lit avec la fonction fread()
Code :
<?php
$fichier = fopen("fichier.txt", w+); //ouverture en lecture/ecriture
$str = fread($fichier, 16)); //lecture du fichier
echo $str; //affichage du contenu du fichier
fclose($fichier); //fermeture du fichier
?>
`Le premier paramètre de fread() est l'identifiant de la connection, fread
- le second paramètre est le nombre maximum de caractères. Il est remplacable par filesize($nom_fichier), ou nom_fichier est le nom du fichier ouvert. Dans ce cas, le nombre de caractères maximum est le nombre de caractères contenus dans $nom_fichier).
Pour écrire dans un fichier, il suffit d'utiliser la fonction fwrite():
Code :
<?php
$fichier = fopen("fichier.txt", "w+"):
fwrite($fichier, "Modification du Fichier fichier.txt"); //ecriture de "Modification du Fichier fichier.txt"
fclose($fichier);
?>
La commande fclose() prends en compte deux paramètres:
- $fichier, l'identifiant de la connection au fichier à modifier
- la valeur à placer dans le fichier.
Il est tout à fait possible, en PHP, de ranommer un fichier, le supprimer, ...
- renommage:
Le rennomage d'un fichier se fait grace à la fonction rename()
Code :
rename("hello.html", "hello.php");
La fonction rename prends en compte deux paramètres:
- L'ancien nom du fichier: hello.html
- Le nouveau nom du fichier: hello.php
- Suppression:
La suppression d'un fichier se fait grace à la fonction unlink()
Code :
unlink("hello.php");
La fonction unlink prends en compte un paramètre:
- Le nom du fichier à supprimer: hello.php
Vous devez bien avoir lesz droits de modifications et de lecture sur les fichiers pour faire ceci. Sur un serveur Unix, vous devez pour cela, mettre les droits en chmod 666 ou bien, 777.
Vous pouvez changer les droits d'un fichier par le ftp de votre site, ou bien, grace à la fonction chmod()