Maison > Article > développement back-end > Introduction aux fonctions PHP — fgets() : Lire une ligne depuis un fichier
Introduction à la fonction PHP — fgets() : Lire une ligne à partir d'un fichier
En PHP, la lecture d'un fichier est une opération très courante. La fonction fgets() peut nous aider à lire les données du fichier ligne par ligne. Cette fonction est très utile surtout lorsque nous devons traiter des fichiers texte volumineux. Cet article présentera l'utilisation de la fonction fgets() et fournira quelques exemples de code pour aider les lecteurs à mieux comprendre la fonction et l'utilisation de cette fonction. La syntaxe de base de la fonction
fgets() est la suivante :
string fgets (resource $handle, int $length) ;
Analyse des paramètres :
Exemple de code 1 : utilisation de base
Supposons que nous ayons un fichier texte example.txt avec le contenu suivant :
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Nous voulons lire chaque ligne et l'afficher sur la page, le code est le suivant :
$handle = fopen("example.txt", "r"); if ($handle) { while (($line = fgets($handle)) !== false) { echo $line . "<br>"; } fclose($handle); } else { echo "无法打开文件"; }
Le programme utilise d'abord la fonction fopen() pour ouvrir le fichier exemple.txt et stocke la ressource de fichier renvoyée dans la variable $handle. Ensuite, dans une boucle while, utilisez la fonction fgets() pour lire une ligne à la fois, affectez-la à la variable $line, puis affichez-la sur la page. Enfin, utilisez la fonction fclose() pour fermer le fichier.
Exécutez le code ci-dessus, le résultat est le suivant :
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Exemple de code 2 : Limiter le nombre d'octets lus
Dans certains cas, nous n'aurons peut-être besoin que de lire les premiers octets du fichier, ou simplement de lire Obtenir un nombre fixe d'octets par ligne. Le deuxième paramètre $length de la fonction fgets() permet de limiter le nombre d'octets lus. Par exemple, on ne lit que les 10 premiers octets de chaque ligne, et le code est le suivant :
$handle = fopen("example.txt", "r"); if ($handle) { while (($line = fgets($handle, 10)) !== false) { echo $line . "<br>"; } fclose($handle); } else { echo "无法打开文件"; }
Ce code ajoute un deuxième paramètre de 10 à l'appel de la fonction fgets(), ce qui signifie que seulement 10 octets sont lus à chaque fois . Les résultats de l'exécution sont les suivants :
Lorem ipsu consectetu sed do eiu ut labore
Exemple de code 3 : Lire et traiter les données ligne par ligne
En plus de les afficher directement sur la page, nous pouvons également traiter davantage les données de chaque ligne. Par exemple, pour compter le nombre de caractères dans chaque ligne du fichier et stocker le résultat dans un tableau, le code est le suivant :
$handle = fopen("example.txt", "r"); $result = []; if ($handle) { while (($line = fgets($handle)) !== false) { $lineLength = strlen($line); $result[] = $lineLength; } fclose($handle); } else { echo "无法打开文件"; } print_r($result);
Ce code utilise la fonction strlen() pour compter le nombre de caractères dans chaque ligne dans chaque boucle et stocke le résultat dans le tableau $result. Enfin, utilisez la fonction print_r() pour afficher le contenu du tableau. Les résultats de l'exécution sont les suivants : La fonction
Array ( [0] => 28 [1] => 28 [2] => 30 [3] => 24 )
Summary
fgets() est une fonction très utile qui peut nous aider à lire les données ligne par ligne du fichier. C'est très simple à utiliser et la syntaxe de base est facile à comprendre. Nous pouvons utiliser cette fonction pour lire chaque ligne du fichier et effectuer un traitement ultérieur, comme l'afficher sur la page, compter le nombre de caractères, etc. En maîtrisant et en utilisant de manière flexible la fonction fgets(), nous pouvons traiter plus facilement des fichiers texte volumineux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!