Lorsque nous travaillons avec des applications PHP, nous devons souvent ouvrir un fichier local et y lire des données ou y écrire des données. Dans cet article, nous allons brièvement passer en revue les outils disponibles pour ce faire.
PHP nous propose trois fonctions natives pour manipuler les fichiers locaux : file()
, file_get_contents()
et fopen()
. Des bibliothèques entières ont été écrites autour de ces fonctions, mais elles restent les options incontournables lorsque nous devons manipuler rapidement des fichiers à l’aide de PHP.
Nous allons d’abord regarder ce que font ces fonctions, puis regarder des exemples de leur fonctionnement.
file() et file_get_contents()
file()
et file_get_contents()
fonctionnent à peu près de la même manière. Ils ont tous les deux lu un dossier entier. Cependant, file()
lit le fichier dans un tableau, tandis que file_get_contents()
lit le fichier dans une chaîne. Ces deux fonctions sont coffre-fort binairece qui signifie qu’ils peuvent être utilisés pour tout type de contenu.
Soyez très prudent lorsque vous utilisez file()
car le tableau renvoyé par celui-ci sera séparé par une nouvelle ligne, mais chaque élément aura toujours la nouvelle ligne de fin attachée.
fopen()
Les fopen()
fonction fonctionne d’une manière totalement différente. Il ouvrira un descripteur de fichier, qui fonctionne comme un flux pour lire ou écrire le fichier.
Le manuel PHP l’explique Par ici:
Dans sa forme la plus simple, un flux est un objet ressource qui présente un comportement diffusable. Autrement dit, il peut être lu ou écrit de manière linéaire, et peut être capable de fseek()
à un emplacement arbitraire dans le flux.
En termes simples, appeler fopen()
ne fera rien d’autre qu’ouvrir un flux.
Une fois que nous avons ouvert le flux et maîtrisé le fichier, d’autres fonctions telles que fread()
et fwrite()
peut être utilisé pour manipuler le fichier. Et une fois que nous avons terminé, nous pouvons fermer le flux en utilisant fclose()
.
Exemples
Jetez un œil à l’exemple suivant :
<?php
$filepath = "/usr/local/sitepoint.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
Les fonctions ci-dessus vous donneront un contrôle beaucoup plus précis sur les fichiers, mais leur niveau est bien inférieur à celui des file()
ou alors file_get_contents()
fonctions, qu’il est préférable d’utiliser, comme indiqué dans la documentation PHP :
file_get_contents()
est la méthode préférée pour lire le contenu d’un fichier dans une chaîne. Il utilisera des techniques d’échange de mémoire si elles sont prises en charge par votre système d’exploitation pour améliorer les performances.
file_get_contents()
est assez simple à utiliser :
<?php
$file_contents = file_get_contents('./file.txt');
Cela lira le contenu de file.txt
dans $file_contents
.
Si, à la place, nous ne voulons qu’une partie spécifique du fichier, nous pouvons faire ceci :
<?php
$file_contents = file_get_contents('./file.txt', FALSE, NULL, 20, 14);
Cela lira 14 caractères, à partir du caractère 20 de file.txt
. Plus d’informations sur tous les paramètres de file_get_contents()
se trouve sur le documents officiels.
janvier 18, 2023
Comment lire un fichier local avec PHP —
Lorsque nous travaillons avec des applications PHP, nous devons souvent ouvrir un fichier local et y lire des données ou y écrire des données. Dans cet article, nous allons brièvement passer en revue les outils disponibles pour ce faire.
PHP nous propose trois fonctions natives pour manipuler les fichiers locaux :
file()
,file_get_contents()
etfopen()
. Des bibliothèques entières ont été écrites autour de ces fonctions, mais elles restent les options incontournables lorsque nous devons manipuler rapidement des fichiers à l’aide de PHP.Nous allons d’abord regarder ce que font ces fonctions, puis regarder des exemples de leur fonctionnement.
file() et file_get_contents()
file()
etfile_get_contents()
fonctionnent à peu près de la même manière. Ils ont tous les deux lu un dossier entier. Cependant,file()
lit le fichier dans un tableau, tandis quefile_get_contents()
lit le fichier dans une chaîne. Ces deux fonctions sont coffre-fort binairece qui signifie qu’ils peuvent être utilisés pour tout type de contenu.Soyez très prudent lorsque vous utilisez
file()
car le tableau renvoyé par celui-ci sera séparé par une nouvelle ligne, mais chaque élément aura toujours la nouvelle ligne de fin attachée.fopen()
Les
fopen()
fonction fonctionne d’une manière totalement différente. Il ouvrira un descripteur de fichier, qui fonctionne comme un flux pour lire ou écrire le fichier.Le manuel PHP l’explique Par ici:
En termes simples, appeler
fopen()
ne fera rien d’autre qu’ouvrir un flux.Une fois que nous avons ouvert le flux et maîtrisé le fichier, d’autres fonctions telles que
fread()
etfwrite()
peut être utilisé pour manipuler le fichier. Et une fois que nous avons terminé, nous pouvons fermer le flux en utilisantfclose()
.Exemples
Jetez un œil à l’exemple suivant :
Les fonctions ci-dessus vous donneront un contrôle beaucoup plus précis sur les fichiers, mais leur niveau est bien inférieur à celui des
file()
ou alorsfile_get_contents()
fonctions, qu’il est préférable d’utiliser, comme indiqué dans la documentation PHP :file_get_contents()
est assez simple à utiliser :Cela lira le contenu de
file.txt
dans$file_contents
.Si, à la place, nous ne voulons qu’une partie spécifique du fichier, nous pouvons faire ceci :
Cela lira 14 caractères, à partir du caractère 20 de
file.txt
. Plus d’informations sur tous les paramètres defile_get_contents()
se trouve sur le documents officiels.Source link
Partager :
Articles similaires