Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Membaca fail teks dalam PHP

Membaca fail teks dalam PHP

WBOY
WBOYke hadapan
2024-02-29 22:10:08991semak imbas

editor php Xigua Dalam pembangunan PHP, membaca fail teks adalah operasi biasa. Melalui fungsi membaca fail PHP, anda boleh membuka, membaca dan memproses kandungan fail teks dengan mudah. Sama ada membaca fail konfigurasi, fail log atau jenis fail teks lain, PHP menyediakan pelbagai fungsi dan kaedah untuk mencapai operasi ini. Artikel ini akan memperkenalkan cara membaca fail teks dalam PHP, serta beberapa petua dan langkah berjaga-jaga yang biasa.


Gunakan fungsi fgets() dalam php untuk membaca fail teks baris demi baris

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 变量返回字符串。我们用nKita boleh menggunakan fgets dengan gelung <code>while The ( ) fungsi membaca fail teks baris demi baris dalam PHP. Fungsi mengembalikan baris jika ada, atau palsu jika tiada lagi baris untuk dibaca. Ia memerlukan dua parameter. Sintaksnya adalah seperti berikut.

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

}

Di sini, $file adalah seperti penuding fail kepada fail yang berjaya dibuka. Pilihan $length, pilihan, menunjukkan bilangan bait untuk dibaca.

Kita boleh menggunakan fungsi open() untuk membaca fail, dan kemudian menggunakan gelung while untuk menggelungkan setiap baris melalui fgets() kod> fungsi. Kami mempunyai fail teks <code>abc.txt dengan kandungan berikut.

Hi 
How are you 
Have a great day
🎜Sebagai contoh, buat pembolehubah $txt_file dan tulis fungsi fopen() di dalamnya. Buka fail abc.txt dalam mod r. Buat pembolehubah pembilang baris $a dan tetapkan nilai 1 kepadanya. Kemudian, buat gelung while. Dalam kurungan gelung, tulis fungsi fgets() yang mengambil $text_file sebagai hujah. Berikan fungsi kepada pembolehubah $line dalam gelung. Cetak pembolehubah $line dan sambungkannya ke pembolehubah $a di dalam badan gelung. Tambahkan pembolehubah $a dan gunakan fungsi fclose() di luar gelung untuk menutup strim fail. 🎜🎜Contoh kod: 🎜rrreee🎜Output: 🎜rrreee🎜

Gunakan file() dalam PHP Fungsi membaca fail teks baris demi baris

🎜fail() Fungsi membaca keseluruhan fail menjadi 🎜array🎜. Sintaks fungsi file() adalah seperti berikut. 🎜rrreee🎜Di sini, $filename ialah laluan fail untuk dibaca. Pilihan $flag adalah pilihan dan terdiri daripada pelbagai pemalar seperti FILE_USE_INCLUDE_PATH, FILE_IGNORE_NEW_LINES dan FILE_SKIP_EMPTY_LINES. Yang ketiga, juga pilihan, mentakrifkan sumber konteks. Fungsi 🎜🎜file() mengembalikan keseluruhan tatasusunan jika wujud atau mengembalikan palsu. Kita boleh menggunakan fungsi ini untuk membaca konteks fail baris demi baris melalui helo fungsi foreach(). Fungsi foreach() akan melingkari keseluruhan kandungan dan mengekstrak setiap baris secara individu. 🎜🎜Sebagai contoh, simpan laluan fail dalam pembolehubah $txt_file. Tulis pembolehubah $lines dan simpan fungsi file() padanya menggunakan $txt_file sebagai argumen. Seterusnya, gunakan fungsi foreach() untuk mengulang kandungan fail. Gunakan $lines sebagai iterator dan $num=>$line sebagai nilai. Dalam badan gelung, cetak pembolehubah $num dan $line. 🎜🎜Contoh kod: 🎜rrreee🎜Output: 🎜rrreee🎜

Gunakan file_get_contents() dan fungsi <code>explode() membaca fail baris demi baris

🎜Fungsi file_get_contents() membaca keseluruhan fail menjadi 🎜rentetan🎜. Mengembalikan keseluruhan fail sebagai rentetan jika kandungannya wujud, sebaliknya palsu. Kita boleh menentukan laluan fail sebagai hujah kepada fungsi tersebut. Fungsi explode() membahagikan rentetan kepada tatasusunan menggunakan pembatas. Sintaks fungsi explode() adalah seperti berikut. 🎜rrreee🎜 Pilihan separator digunakan untuk memisahkan $string daripada bilangan elemen $limit apabila mengembalikan nilai. Kita boleh menggabungkan fungsi file_get_contents(), explode() dan foreach() untuk membaca fail teks baris demi baris dalam PHP. 🎜🎜Sebagai contoh, buat pembolehubah $contents dan tulis fungsi file_get_contents() padanya dengan laluan fail dalam parameter. Gunakan fungsi explode() dengan aksara n sebagai pembatas dan $contents sebagai rentetan. Berikan fungsi kepada pembolehubah $lines. Gunakan gelung foreach untuk menggelungkan $lines ke dalam $line. Kemudian, cetak $line di dalam badan gelung. 🎜🎜Dalam contoh di bawah, pembolehubah $contents mengembalikan rentetan. Kami membahagikannya kepada tatasusunan dengan n baris baharu dan mencetak setiap baris menggunakan gelung. 🎜🎜Kod sampel: 🎜rrreee 🎜Output: 🎜rrreee

Atas ialah kandungan terperinci Membaca fail teks dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam