Lire des fichiers texte en PHP
-
Utilisez la fonction
fgets()
pour lire les fichiers texte ligne par ligne en PHP -
Utilisez la fonction
file()
pour lire les fichiers texte ligne par ligne en PHP -
Utilisez les fonctions
file_get_contents()
etexplode()
pour lire le fichier ligne par ligne en PHP
Cet article présentera des méthodes pour lire les fichiers texte ligne par ligne en PHP.
Utilisez la fonction fgets()
pour lire les fichiers texte ligne par ligne en PHP
On peut utiliser la fonction fgets()
avec une boucle while
pour lire les fichiers texte ligne par ligne en PHP. La fonction renvoie une ligne s’il y a une ligne, et elle renvoie false s’il n’y a plus de lignes à lire. Il faut deux paramètres. La syntaxe est la suivante.
fgets($file, $length)
Ici, $file
ressemble à un pointeur de fichier qui pointe vers un fichier ouvert avec succès. L’option $length
, facultative, désigne le nombre d’octets à lire.
Nous pouvons utiliser la fonction open()
pour lire le fichier, puis utiliser la boucle while
pour parcourir chaque ligne avec la fonction fgets()
. Nous avons un fichier texte abc.txt
contenant le contenu suivant.
Hi
How are you
Have a great day
Par exemple, créez une variable $txt_file
et écrivez la fonction fopen()
dedans. Ouvrez le fichier abc.txt
en mode r
. Créez une variable de compteur de ligne $a
et attribuez-lui la valeur 1
. Ensuite, créez une boucle while
. A l’intérieur de la parenthèse de la boucle, écrivez la fonction fgets()
avec $text_file
comme paramètre. Affectez la fonction à une variable $line
dans la boucle. Imprimez la variable $line
en la concaténant avec la variable $a
à l’intérieur du corps de la boucle. Incrémentez la variable $a
et en dehors de la boucle, utilisez la fonction fclose()
pour fermer le flux de fichiers.
Exemple de code :
<?php
$txt_file = fopen('abc.txt','r');
$a = 1;
while ($line = fgets($txt_file)) {
echo($a." ".$line)."<br>";
$a++;
}
fclose($txt_file);
?>
Production:
1 Hi
2 How are you
3 Have a great day
Utilisez la fonction file()
pour lire les fichiers texte ligne par ligne en PHP
La fonction file()
lit le fichier entier dans un tableau. La syntaxe de la fonction file()
est la suivante.
file($filename, $flag, $context)
Ici, $filename
est le chemin du fichier à lire. L’option $flag
est facultative et comprend diverses constantes telles que FILE_USE_INCLUDE_PATH
, FILE_IGNORE_NEW_LINES
et FILE_SKIP_EMPTY_LINES
. Le troisième est également facultatif, ce qui définit une ressource de contexte.
La fonction file()
renvoie le tableau entier s’il existe ou renvoie false. On peut utiliser la fonction pour lire le contexte du fichier ligne par ligne avec le helo de la fonction foreach()
. La fonction foreach()
parcourra tout le contenu et extraira chaque ligne individuellement.
Par exemple, stockez le chemin du fichier dans une variable $txt_file
. Ecrivez une variable $lines
et stockez la fonction file()
dessus avec $txt_file
comme paramètre. Ensuite, utilisez la fonction foreach()
pour parcourir le contenu du fichier. Utilisez $lines
comme itérateur et $num=>$line
comme valeur. À l’intérieur du corps de la boucle, imprimez les variables $num
et $line
.
Exemple de code :
$txt_file = 'abc.txt';
$lines = file($txt_file);
foreach ($lines as $num=>$line)
{
echo 'Line '.$num.': '.$line.'<br/>';
}
Production:
Line 0: Hi
Line 1: How are you
Line 2: Have a great day
Utilisez les fonctions file_get_contents()
et explode()
pour lire le fichier ligne par ligne en PHP
La fonction file_get_contents()
lit le fichier entier dans une chaîne. Il renvoie le fichier entier sous forme de chaîne si le contenu existe ou il renvoie false. Nous pouvons spécifier le chemin du fichier comme paramètre de la fonction. La fonction explode()
divise une chaîne en un tableau à l’aide d’un séparateur. La syntaxe de la fonction explode()
est la suivante.
explode(separator, $string, $limit)
L’option separator
est utilisée pour séparer $string
avec le nombre d’éléments $limit
tout en retournant la valeur. On peut combiner les fonctions file_get_contents()
, explode()
et foreach()
pour lire le fichier texte ligne par ligne en PHP.
Par exemple, créez une variable $contents
et écrivez la fonction file_get_contents()
dessus avec le chemin du fichier dans le paramètre. Utilisez la fonction explode()
avec le caractère \n
comme séparateur et $contents
comme chaîne de caractères. Affectez la fonction à une variable $lines
. Utilisez la boucle foreach
pour boucler $lines
comme $line
. Puis, imprimez la $line
dans le corps de la boucle.
Dans l’exemple ci-dessous, la variable $contents
renvoie une chaîne de caractères. Nous la divisons en un tableau avec le caractère de nouvelle ligne \n
et imprimons chaque ligne en utilisant la boucle.
Exemple de code :
$contents=file_get_contents("abc.txt");
$lines=explode("\n",$contents);
foreach($lines as $line){
echo $line.'<br>';
}
Production:
Hi
How are you
Have a great day
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn