Maison  >  Article  >  développement back-end  >  Lire des fichiers texte en PHP

Lire des fichiers texte en PHP

WBOY
WBOYavant
2024-02-29 22:10:08991parcourir

éditeur php Xigua Dans le développement PHP, la lecture de fichiers texte est une opération courante. Grâce à la fonction de lecture de fichiers de PHP, vous pouvez facilement ouvrir, lire et traiter le contenu des fichiers texte. Qu'il s'agisse de lire des fichiers de configuration, des fichiers journaux ou d'autres types de fichiers texte, PHP fournit une multitude de fonctions et de méthodes pour réaliser cette opération. Cet article explique comment lire des fichiers texte en PHP, ainsi que quelques conseils et précautions courants.


Utilisez la fonction fgets() dans php pour lire le fichier texte ligne par ligne

fgets() 函数逐行读取文本文件

我们可以使用带有 while 循环的 fgets() 函数在 PHP 中逐行读取文本文件。如果有一行,该函数返回一行,如果没有更多的行要读取,则返回 false。它需要两个参数。语法如下。

fgets($file, $length)

在这里,$file 类似于指向成功打开文件的文件指针。$length 选项,可选,表示要读取的字节数。

我们可以使用 open() 函数读取文件,然后使用 while 循环通过 fgets() 函数循环遍历每一行。我们有一个包含以下内容的文本文件 abc.txt

Hi
How are you
Have a great day 

例如,创建一个变量 $txt_file 并在其中写入 fopen() 函数。在 r 模式下打开文件 abc.txt。创建一个行计数器变量 $a 并将值 1 分配给它。然后,创建一个 while 循环。在循环的括号内,编写以 $text_file 作为参数的 fgets() 函数。将函数分配给循环中的 $line 变量。打印 $line 变量,将它与循环体内的 $a 变量连接起来。增加 $a 变量并在循环外使用 fclose() 函数关闭文件流。

示例代码:

<?php
$txt_file = fopen('abc.txt','r');
$a = 1;
while ($line = fgets($txt_file)) {
 echo($a." ".$line)."<br>";
 $a++;
}
fclose($txt_file);
?>

输出:

1 Hi 
2 How are you 
3 Have a great day

在 PHP 中使用 file() 函数逐行读取文本文件

file() 函数将整个文件读入一个数组file() 函数的语法如下。

file($filename, $flag, $context)

这里,$filename 是要读取的文件路径。$flag 选项是可选的,它由各种常量组成,例如 FILE_USE_INCLUDE_PATHFILE_IGNORE_NEW_LINESFILE_SKIP_EMPTY_LINES。第三个也是可选的,它定义了一个上下文资源。

file() 函数返回整个数组,如果它存在或返回 false。我们可以使用该函数通过 foreach() 函数的 helo 逐行读取文件上下文。foreach() 函数将遍历整个内容并单独提取每一行。

例如,将文件路径存储在变量 $txt_file 中。编写一个变量 $lines 并使用 $txt_file 作为参数将 file() 函数存储在其上。接下来,使用 foreach() 函数循环遍历文件的内容。使用 $lines 作为迭代器,使用 $num=>$line 作为值。在循环体内,打印 $num$line 变量。

示例代码:

$txt_file = 'abc.txt';

$lines = file($txt_file);
foreach ($lines as $num=>$line)
{
 echo 'Line '.$num.': '.$line.'<br/>';
}

输出:

Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day

在 PHP 中使用 file_get_contents()explode() 函数逐行读取文件

file_get_contents() 函数将整个文件读入一个字符串。如果内容存在,则将整个文件作为字符串返回,否则返回 false。我们可以指定文件路径作为函数的参数。explode() 函数使用分隔符将字符串拆分为数组。explode() 函数的语法如下。

explode(separator, $string, $limit)

separator 选项用于在返回值时将 $string$limit 元素的数量分开。我们可以结合 file_get_contents()explode()foreach() 函数在 PHP 中逐行读取文本文件。

例如,创建一个变量 $contents 并在其上使用参数中的文件路径编写 file_get_contents() 函数。使用 explode() 函数,其中 n 字符作为分隔符,$contents 作为字符串。将函数分配给变量 $lines。使用 foreach 循环将 $lines 循环为 $line。然后,在循环体内打印 $line

在下面的示例中,$contents 变量返回字符串。我们用nNous pouvons utiliser fgets avec la boucle <code>while Le ( ) lit un fichier texte ligne par ligne en PHP. La fonction renvoie une ligne s'il y en a une, ou false s'il n'y a plus de lignes à lire. Cela nécessite deux paramètres. La syntaxe est la suivante.

$contents=file_get_contents("abc.txt");
$lines=explode("\n",$contents);
foreach($lines as $line){
 echo $line.'<br>';

}

Ici, $file est comme un pointeur de fichier vers un fichier ouvert avec succès. L'option $length, facultative, indique le nombre d'octets à lire.

Nous pouvons utiliser la fonction open() pour lire le fichier, puis utiliser la boucle while pour parcourir chaque ligne via fgets() code> fonction. Nous avons un fichier texte <code>abc.txt avec le contenu suivant.

Hi 
How are you 
Have a great day
🎜Par exemple, créez une variable $txt_file et écrivez-y la fonction fopen(). Ouvrez le fichier abc.txt en mode r. Créez une variable de compteur de lignes $a et attribuez-lui la valeur 1. Ensuite, créez une boucle while. Entre parenthèses de la boucle, écrivez la fonction fgets() qui prend $text_file comme argument. Attribuez la fonction à la variable $line dans la boucle. Imprimez la variable $line et connectez-la à la variable $a à l'intérieur du corps de la boucle. Ajoutez la variable $a et utilisez la fonction fclose() en dehors de la boucle pour fermer le flux de fichiers. 🎜🎜Exemple de code : 🎜rrreee🎜Sortie : 🎜rrreee🎜

Utiliser file() en PHP La fonction lit un fichier texte ligne par ligne

🎜file() La fonction lit le fichier entier dans un 🎜array🎜. La syntaxe de la fonction file() est la suivante. 🎜rrreee🎜Ici, $filename est le chemin du fichier à lire. L'option $flag est facultative et se compose de constantes telles que FILE_USE_INCLUDE_PATH, FILE_IGNORE_NEW_LINES et FILE_SKIP_EMPTY_LINES. La troisième, également facultative, définit une ressource contextuelle. La fonction 🎜🎜file() renvoie le tableau entier s'il existe ou renvoie false. Nous pouvons utiliser cette fonction pour lire le contexte du fichier ligne par ligne via l'hélicoptère de la fonction foreach(). La fonction foreach() parcourra tout le contenu et extraira chaque ligne individuellement. 🎜🎜Par exemple, stockez le chemin du fichier dans la variable $txt_file. Écrivez une variable $lines et stockez-y la fonction file() en utilisant $txt_file comme argument. Ensuite, utilisez la fonction foreach() pour parcourir le contenu du fichier. Utilisez $lines comme itérateur et $num=>$line comme valeur. Dans le corps de la boucle, imprimez les variables $num et $line. 🎜🎜Exemple de code : 🎜rrreee🎜Sortie : 🎜rrreee🎜

Utiliser file_get_contents() et les fonctions <code>explode() lisent les fichiers ligne par ligne

🎜La fonction file_get_contents() lit le fichier entier dans une 🎜chaîne🎜. Renvoie le fichier entier sous forme de chaîne si le contenu existe, false sinon. Nous pouvons spécifier le chemin du fichier comme argument de la fonction. La fonction explode() divise une chaîne en un tableau à l'aide d'un délimiteur. La syntaxe de la fonction explode() est la suivante. 🎜rrreee🎜 L'option separator est utilisée pour séparer $string du nombre d'éléments $limit lors du renvoi d'une valeur. On peut combiner les fonctions file_get_contents(), explode() et foreach() pour lire un fichier texte ligne par ligne en PHP. 🎜🎜Par exemple, créez une variable $contents et écrivez dessus la fonction file_get_contents() avec le chemin du fichier dans le paramètre. Utilisez la fonction explode() avec des caractères n comme délimiteurs et $contents comme chaînes. Affectez la fonction à la variable $lines. Utilisez une boucle foreach pour boucler $lines dans $line. Ensuite, imprimez $line à l'intérieur du corps de la boucle. 🎜🎜Dans l'exemple ci-dessous, la variable $contents renvoie une chaîne. Nous le divisons en un tableau avec n nouvelles lignes et imprimons chaque ligne à l'aide d'une boucle. 🎜🎜Exemple de code : 🎜rrreee 🎜Sortie : 🎜rrreee

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer