Traitement des fichiers PHP
Accès aux données
Il existe deux manières principales d'accéder aux données sur le serveur : Fichier ou base de données
Actuellement, la plupart des applications utilisent des bases de données pour lire et écrire des données, mais l'accès aux fichiers est encore utilisé dans certaines situations, telles que :
• Enregistrement des journaux d'erreurs
• Exporter des données fichier
Importer des données à partir d'un fichier
Écrire un fichier
Il y a trois étapes principales pour écrire un fichier, tout comme nous le faisons manuellement Dans la même De cette façon, le programme doit suivre les étapes suivantes :
• Ouvrir le fichier, utiliser la fonction FOPEN
• Écrire le fichier, utiliser la fonction FWRITE
• Fermer le fichier , utilisez la fonction FCLose
Ouvrir un fichier
La fonction fopen() est utilisée pour ouvrir un fichier en PHP.
Le premier paramètre de cette fonction contient le nom du fichier à ouvrir, et le deuxième paramètre précise quel mode utiliser pour ouvrir le fichier :
<html> <body> <?php $file=fopen("welcome.txt","r"); ?> </body> </html>
Le fichier peut être ouvert dans le modes suivants :
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!"); ?> </body> </html>
Écrire le fichier
La fonction fwrite () est utilisée pour écrire des fichiers
fwrite a également deux paramètres principaux : le handle est la variable de ressource renvoyée après l'ouverture réussie de fopen, et la chaîne est les données à écrire
<. 🎜> int fwrite ( resource $handle , string $string [, int $length ] )Lorsque l'écriture est réussie, fwrite renverra le nombre de caractères écrits. Si l'écriture échoue, elle renverra false<. 🎜>Exemple
<?php $myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); $txt = "Bill Gates\n"; fwrite($myfile, $txt); $txt = "Steve Jobs\n"; fwrite($myfile, $txt); fclose($myfile); ?>
Veuillez noter que nous avons écrit deux fois dans le fichier "newfile.txt". Chaque fois que nous écrivons dans le fichier, la chaîne $txt que nous envoyons contient « Bill Gates » la première fois et « Steve Jobs » la deuxième fois. Une fois l’écriture terminée, nous utilisons la fonction fclose() pour fermer le fichier.
Si nous ouvrons le fichier "newfile.txt", il devrait ressembler à ceci :
Bill Gates
Steve Jobs
Lire le filefread est utilisé pour lire l'intégralité du fichier sans utiliser d'instruction while pour boucler. Il convient de noter que le deuxième paramètre est utilisé pour contrôler le nombre maximum d'octets lus. Ce paramètre est obligatoire.
string fread (ressource $handle, int $length)
Exécuter
echo fread($resource, 1024);
peut lire jusqu'à 1024 Octets du contenu du fichier
Fermer le fichierLa fonction fclose() est utilisée pour fermer le fichier ouvert :
<?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é atteinte.
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é pour lire à partir de Lire le fichier ligne par ligne à partir du fichier.
Remarque : Après avoir appelé cette fonction, le pointeur de fichier se déplacera vers la ligne suivante.
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() permet de 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); ?>
file_put_contents
Que ce soit Que ce soit en lecture ou en écriture, fopen et fclose sont des appels très fastidieux À partir de PHP5, une nouvelle fonction
int file_put_contents ( string $filename , Mixed $data [, int $flags = 0 [, Resource $ context ]] )
file_put_contents équivaut à exécuter fopen + fwrite + fclose
file_put_contents('file', "hello worldn");
file_put_contents('file', "hello worldn");
file_put_contents('file', "hello worldn" ", FILE_APPEND);
file_get_contentsstring file_get_contents ( string $filename [, bool $use_include_path = false [, ressource$context [, int $offset = -1 [, int $maxlen ]]]] )
file_get_contents équivaut à exécuter fopen + fread + fclose
echo file_get_contents('file');
Autre fonctions d'opération de fichierS file_exists transmet l'adresse du fichier en tant que paramètre pour déterminer si le fichier existe, puis vrai ou faux
S filesize peut renvoyer la taille du fichier dans le paramètre , en octets
La dissociation S peut supprimer le fichier représenté par l'adresse de fichier qui lui est transmise
Manuel de référence du système de fichiers PHP
Pour un manuel de référence complet des fonctions du système de fichiers PHP, visitez notre manuel de référence du système de fichiers PHP.