Comment lire un gros fichier ligne par ligne en PHP
-
Utilisez la fonction
fgets()
pour lire un gros fichier ligne par ligne en PHP -
Utilisez la fonction
file()
pour lire un gros fichier ligne par ligne en PHP -
Utilisez la fonction
stream_get_line()
pour lire un gros fichier ligne par ligne en PHP
Dans cet article, nous introduirons des méthodes pour lire un gros fichier ligne par ligne en PHP.
- Utilisation de la fonction
fgets()
- Utilisation de la fonction
file()
- Utilisation de la fonction
stream_get_line()
Utilisez la fonction fgets()
pour lire un gros fichier ligne par ligne en PHP
La fonction intégrée fgets()
lit une ligne d’un fichier ouvert. Nous pouvons utiliser cette fonction pour lire un gros fichier ligne par ligne. La syntaxe correcte pour utiliser cette fonction est la suivante.
fgets($fileName, $lengthOfFile);
La fonction fgets()
a deux paramètres. Les détails de ses paramètres sont les suivants
Paramètres | Description | |
---|---|---|
$fileName |
obligatoire | C’est le dossier que nous voulons lire ligne par ligne. |
$lengthOfFile |
facultatif | Il indique la longueur du dossier à lire. Sa valeur par défaut est de 1024 octets. |
Cette fonction retourne une chaîne
de lengthOfFile -1
à partir du fichier spécifié par l’utilisateur en cas de succès. Elle retourne False
en cas d’échec.
Le programme ci-dessous montre comment nous pouvons utiliser la fonction fgets()
pour lire un gros fichier ligne par ligne. Nous utiliserons les fonctions fopen()
et fclose()
pour ouvrir et fermer un fichier respectivement. Nous avons un fichier texte nommé flowers.txt
qui contient les détails des fleurs.
<?php
if ($file = fopen("flowers.txt", "r")) {
while(!feof($file)) {
$line = fgets($file);
echo ("$line");
}
fclose($file);
}
?>
Nous avons utilisé la fonction feof()
pour lire le fichier jusqu’à la fin. La sortie montre le contenu du fichier lu ligne par ligne.
Production:
Utilisez la fonction file()
pour lire un gros fichier ligne par ligne en PHP
En PHP, nous pouvons également utiliser la fonction file()
pour lire un fichier ligne par ligne. La fonction file()
lit un fichier dans un tableau ligne par ligne. La syntaxe correcte pour utiliser cette fonction est la suivante:
file($fileName, $flags, $context)
La fonction file()
accepte trois paramètres. Le détail de ses paramètres est le suivant
Paramètres | Description | |
---|---|---|
$fileName |
obligatoire | Il s’agit du chemin d’accès où notre fichier est stocké. |
$flags |
facultatif | Il indique les constantes que nous pouvons utiliser comme indicateurs pour cette fonction. Vous pouvez le lire ici. |
$context |
facultatif | Il s’agit de la ressource que vous pouvez créer en utilisant la fonction stream_context_create(). |
Le programme qui lit le fichier en utilisant la fonction file()
est le suivant:
<?php
foreach(file('flowers.txt') as $line) {
echo $line. "\n";
}
?>
Utilisez la fonction stream_get_line()
pour lire un gros fichier ligne par ligne en PHP
Nous pouvons également utiliser la fonction stream_get_line()
pour lire un fichier ligne par ligne. Cette fonction lit un fichier jusqu’à un délimiteur. La syntaxe correcte pour utiliser cette fonction est la suivante:
stream_get_line($handle, $length, $ending)
La fonction stream_get_line()
accepte trois paramètres. Le détail de ses paramètres est le suivant
Paramètres | Description | |
---|---|---|
$handle |
obligatoire | Il s’agit du chemin d’accès où notre fichier est stocké. |
$length |
obligatoire | Il indique la longueur du dossier à lire. |
$ending |
obligatoire | Il s’agit d’une chaîne qui parle du délimiteur. |
Le programme qui lit le fichier en utilisant la fonction stream_get_line()
est le suivant:
<?php
$file = fopen("flowers.txt", "r+");
while ($line = stream_get_line($file, 1024 * 1024, ".")) {
echo $line;
}
fclose($file);
?>
Production:
.
est supprimé de la sortie.