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.
fgets()
dalam php untuk membaca fail teks baris demi barisfgets()
函数逐行读取文本文件我们可以使用带有 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
file()
函数逐行读取文本文件file()
函数将整个文件读入一个数组。file()
函数的语法如下。
file($filename, $flag, $context)
这里,$filename
是要读取的文件路径。$flag
选项是可选的,它由各种常量组成,例如 FILE_USE_INCLUDE_PATH
、FILE_IGNORE_NEW_LINES
和 FILE_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
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
变量返回字符串。我们用n
Kita 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
$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🎜file()
dalam PHP Fungsi membaca fail teks baris demi barisfile()
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🎜file_get_contents() dan fungsi <code>explode()
membaca fail baris demi baris
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: 🎜rrreeeAtas ialah kandungan terperinci Membaca fail teks dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!