Ouvrir/Lire/Fermer un fichier PHP
- Page précédente Fichiers PHP
- Page suivante Création/Écriture de fichiers PHP
Dans cette section, nous vous expliquons comment ouvrir, lire et fermer un fichier sur le serveur.
Ouvrir un fichier PHP - fopen()
La meilleure manière d'ouvrir un fichier est par la fonction fopen(). Cette fonction vous offre plus d'options que la fonction readfile().
Dans ce cours, nous utiliserons le fichier texte "webdictionary.txt" :
AJAX = JavaScript et XML Asynchrones CSS = Feuilles de Style en Cascade HTML = Langage de Marquage Hyper Texte PHP = Préprocesseur Hypertexte PHP SQL = Langage de Requête Structurée SVG = Graphiques Vectoriels Scalables XML = Langage de Marquage Extensible (EXtensible Markup Language)
Le premier paramètre de fopen() contient le nom du fichier à ouvrir, le deuxième paramètre spécifie le mode d'ouverture du fichier. Si la fonction fopen() ne parvient pas à ouvrir le fichier spécifié, l'exemple suivant génère un message :
Exemple
<?php $myfile = fopen("webdictionary.txt", "r") or die("Impossible d'ouvrir le fichier !"); echo fread($myfile, filesize("webdictionary.txt")); fclose($myfile); ?>
Astuce :Nous allons apprendre à utiliser les fonctions fread() et fclose() à suivre.
Le fichier sera ouvert dans l'un des modes suivants :
Mode | Description |
---|---|
r | Ouvrir un fichier en lecture seule. Le pointeur de fichier commence au début du fichier. |
w | Ouvrir un fichier en écriture seule. Le contenu du fichier sera supprimé ou un nouveau fichier sera créé s'il n'existe pas. Le pointeur de fichier commence au début du fichier. |
a | Ouvrir un fichier en écriture seule. Les données existantes dans le fichier seront conservées. Le pointeur de fichier commence à la fin du fichier. Créer un nouveau fichier s'il n'existe pas. |
x | Créer un nouveau fichier en écriture seule. Retourne FALSE et génère une erreur si le fichier existe déjà. |
r+ | Ouvrir un fichier en lecture/écriture, le pointeur de fichier commence au début du fichier. |
w+ | Ouvrir un fichier en lecture/écriture. Le contenu du fichier sera supprimé ou un nouveau fichier sera créé s'il n'existe pas. Le pointeur de fichier commence au début du fichier. |
a+ | Ouvrir un fichier en lecture/écriture. Les données existantes dans le fichier seront conservées. Le pointeur de fichier commence à la fin du fichier. Créer un nouveau fichier s'il n'existe pas. |
x+ | Créer un nouveau fichier en lecture/écriture. Retourne FALSE et génère une erreur si le fichier existe déjà. |
PHP lire un fichier - fread()
La fonction fread() lit un fichier ouvert.
Le premier paramètre de fread() contient le nom du fichier à lire, le deuxième paramètre spécifie le nombre maximum d'octets à lire.
Le code PHP suivant lit le fichier "webdictionary.txt" jusqu'à la fin:
fread($myfile, filesize("webdictionary.txt"));
PHP fermer un fichier - fclose()
La fonction fclose() est utilisée pour fermer un fichier ouvert.
Remarque :Fermer tous les fichiers utilisés après leur utilisation est une bonne habitude de programmation. Vous ne voulez pas que des fichiers ouverts occupent des ressources serveur.
fclose() nécessite le nom du fichier à fermer (ou une variable contenant le nom du fichier):
<?php $myfile = fopen("webdictionary.txt", "r"); // Certaines lignes de code à exécuter... fclose($myfile); ?>
PHP lire une ligne de fichier - fgets()
La fonction fgets() est utilisée pour lire une ligne à partir d'un fichier.
L'exemple suivant affiche la première ligne du fichier "webdictionary.txt":
Exemple
<?php $myfile = fopen("webdictionary.txt", "r") or die("Impossible d'ouvrir le fichier !"); echo fgets($myfile); fclose($myfile); ?>
Remarque :Après l'appel de la fonction fgets(), le pointeur de fichier se déplace à la ligne suivante.
PHP vérifie End-Of-File - feof()
La fonction feof() vérifie si nous sommes arrivés à la "fin du fichier" (EOF).
feof() est très utile pour parcourir des données de longueur inconnue.
L'exemple suivant lit le fichier "webdictionary.txt" ligne par ligne jusqu'à la fin du fichier :
Exemple
<?php $myfile = fopen("webdictionary.txt", "r") or die("Impossible d'ouvrir le fichier !"); // Affichez une ligne à la fois jusqu'à la fin du fichier while(!feof($myfile)) { echo fgets($myfile) . "<br>"; } fclose($myfile); ?>
PHP lecture de caractère unique - fgetc()
La fonction fgetc() est utilisée pour lire un seul caractère à partir du fichier.
L'exemple suivant lit le fichier "webdictionary.txt" caractère par caractère jusqu'à la fin du fichier :
Exemple
<?php $myfile = fopen("webdictionary.txt", "r") or die("Impossible d'ouvrir le fichier !"); // Affichez un caractère à la fois jusqu'à la fin du fichier while(!feof($myfile)) { echo fgetc($myfile); } fclose($myfile); ?>
Remarque :Après l'appel de la fonction fgetc(), le pointeur de fichier se déplace au caractère suivant.
Manuel de référence Filesystem PHP
Pour obtenir un manuel de référence complet du système de fichiers PHP, veuillez consulter celui fourni par CodeW3C.com Manuel de référence Filesystem PHP.
- Page précédente Fichiers PHP
- Page suivante Création/Écriture de fichiers PHP