Gestion des fichiers PHP
La fonction fopen() est utilisée pour ouvrir des fichiers en PHP.
Ouvrir le fichier
Il n'y a pas de fonction de création de fichier distincte en PHP La fonction fopen() est utilisée pour créer et ouvrir des fichiers. Lorsqu'un fichier est ouvert à l'aide de la fonction fopen(), si le fichier n'existe pas, une tentative de création du fichier est effectuée et une ressource est renvoyée. Si l'ouverture échoue, la fonction renvoie FALSE.
Syntaxe
ressource fopen (string $filename, string mode)
Le premier paramètre de cette fonction contient le nom du fichier à ouvrir , le deuxième paramètre précise le mode à utiliser pour ouvrir le fichier :
<html> <body> <?php $file=fopen("welcome.txt","r"); ?> </body> </html>
Le fichier peut être ouvert dans les modes suivants :
Mode
r Lecture seule. Commencez au début du fichier.
<<> R+ lecture/écriture. Commencez au début du fichier. . Ouvre et efface le contenu du fichier ; si le fichier n'existe pas, crée un nouveau fichier. . Ouvre et efface le contenu du fichier ; si le fichier n'existe pas, crée un nouveau fichier. . Ouvre et écrit à la fin du fichier, ou crée un nouveau fichier s'il n'existe pas. . Conservez le contenu du fichier en écrivant à la fin du fichier. Créez un nouveau fichier. Si le fichier existe déjà, renvoie FALSE et une erreur. . Créez un nouveau fichier. Si le fichier existe déjà, renvoie FALSE et une erreur.
Remarque : Si la fonction fopen() ne peut pas ouvrir le fichier spécifié, elle renvoie 0 (faux).
Exemple
Si la fonction fopen() ne peut pas ouvrir le fichier spécifié, l'exemple suivant générera un message :
<html> <body> <?php $file=fopen("welcome.txt","r") or exit("Unable to open file!"); // 不能打开指定文件的错误信息: Unable to open file ?> </body> </html>
Fermer le fichier
fclose () Fonctions utilisées pour fermer les fichiers ouverts :
<?php $file = fopen("test.txt","r"); //执行一些代码 fclose($file); ?>Détecter la fin du fichier (EOF) la fonction feof() détecte si la fin du fichier (EOF ) a été atteint. La fonction feof() est utile lors de la lecture en boucle de données de longueur inconnue. Remarque : En modes w, a et x, vous ne pouvez pas lire les fichiers ouverts !
if (feof($file)) echo "Fin du fichier";
Lire le fichier ligne par ligne
La fonction fgets() est utilisée pour lire un fichier ligne par ligne à partir d'un fichier.
Remarque : Après avoir appelé cette fonction, le pointeur de fichier se déplacera vers la ligne suivante.
Syntaxe
string fgets( int handle [, int length] )
fgets() lit une ligne du fichier pointé par handle et renvoie une chaîne d'une longueur maximale de 1 octet. S'arrête sur un caractère de nouvelle ligne (inclus dans la valeur de retour), EOF ou après la lecture d'octets de longueur 1. Si la longueur n'est pas spécifiée, la valeur par défaut est 1 Ko, soit 1 024 octets.
Exemple
L'exemple suivant lit le fichier ligne par ligne jusqu'à la fin du fichier :
<?php $file = fopen("welcome.txt", "r") or exit("无法打开文件!"); // 读取文件每一行,直到文件结尾 while(!feof($file)) { echo fgets($file). "<br>"; } fclose($file); ?>
Lit le fichier caractère par caractère
La fonction fgetc() est utilisée pour lire un fichier caractère par caractère à partir d'un fichier.
Remarque : Après avoir appelé cette fonction, le pointeur de fichier se déplacera vers le caractère suivant.
Exemple
L'exemple suivant lit le fichier caractère par caractère jusqu'à la fin du fichier :
<?php $file=fopen("welcome.txt","r") or exit("无法打开文件!"); while (!feof($file)) { echo fgetc($file); } fclose($file); ?>
Lit l'intégralité du fichier
La fonction fread() est utilisée pour lire des fichiers (sans danger pour les fichiers binaires).
Syntaxe :
string fread( int handle, int length )
fread() lit jusqu'à la longueur des octets à partir du handle du pointeur de fichier. La lecture du fichier s'arrêtera lorsque l'une des situations suivantes est rencontrée :
Lorsque la longueur maximale des octets a été lue
Lorsque la fin du fichier (EOF) est atteinte
(pour les flux réseau) lorsqu'un paquet est disponible
ou (après ouverture d'un flux en espace utilisateur) lorsque 8192 octets ont été lus
Lire 10 à partir du fichier Octets (espaces compris) :
<?php $filename = "test.txt"; $fh = fopen($filename, "r"); echo fread($fh, "10"); fclose($fh); ?>
file_get_contents()
La fonction file_get_contents() est utilisée pour lire l'intégralité du fichier dans une chaîne, renvoie une chaîne en cas de succès, FALSE en cas d'échec.
Syntaxe :
string file_get_contents( string filename [, int offset [, int maxlen]] )
Description du paramètre :
Paramètres Description
filename Le nom du fichier à lire
offset Facultatif , Spécifiez la position de départ de la lecture, la position par défaut est la position de départ du fichier
maxlen Facultatif, spécifiez la longueur du fichier lu en octets
Exemple :
<?php $filename = 'NoAlike.txt'; $filestring = file_get_contents($filename); echo $filestring; ?>
fwrite()
la fonction fwrite() est utilisée pour écrire une chaîne dans un fichier et renvoie le nombre de caractères écrits avec succès, sinon il renvoie FAUX.
Syntaxe :
int fwrite( resource handle, string string [, int length] )
fwrite() écrit le contenu de la chaîne dans un Poignée de pointeur de fichier.
Description du paramètre :
Paramètre Description
handle Le pointeur de fichier pour écrire une chaîne, généralement par The La fonction fopen() crée des
data la chaîne à écrire
length Facultatif, spécifie le nombre maximum d'octets à écrire.
Si le paramètre facultatif length est spécifié, l'écriture s'arrêtera lorsque length octets auront été écrits ou que la chaîne aura été écrite.
Exemple :
<?php // 要写入的文件名字 $filename = 'file.txt'; // 写入的字符 $word = "你好!"; $fh = fopen($filename, "w"); echo fwrite($fh, $word); // 输出:6 fclose($fh); ?>
Exécutez le programme exemple Dans le même répertoire que le programme, le contenu du fichier file.txt est : Bonjour !
Dans l'exemple ci-dessus, si le paramètre length est utilisé, des chaînes de longueur maximale peuvent être écrites :
echo fwrite($fh, $word, 4); : 4
file_put_contents()
file_put_contents() est utilisée pour mettre des chaînes Écrivez dans un fichier et renvoyez le nombre d'octets de données écrits dans le fichier en cas de succès, ou FALSE en cas d'échec.
Syntaxe :
int file_put_contents (string nom de fichier, données de chaîne [, int flags [, contexte de ressource]])
Description du paramètre :
Paramètres Description
filename Le nom du fichier dans lequel écrire les données
data Les données à écrire. Le type peut être une chaîne, un tableau (mais pas un tableau multidimensionnel) ou une ressource de flux
flags Facultatif, spécifiant comment ouvrir/écrire le fichier. Valeurs possibles :
FILE_USE_INCLUDE_PATH : Vérifiez le chemin intégré pour une copie du nom de fichier
FILE_APPEND : Écrivez les données ajoutées à la fin du fichier
LOCK_EX : Verrouillez le fichier
context Facultatif, le contexte est un ensemble d'options grâce auxquelles les attributs de texte peuvent être modifiés.
Exemple :
<?php echo file_put_contents("test.txt", "This is something."); ?>
Exécutez cet exemple, la sortie du navigateur :
18