Dalam artikel sebelumnya "operasi fail php - membaca fail aksara demi aksara " kami memperkenalkan kaedah membaca fail: membaca fail aksara demi aksara. Dalam artikel ini, kami akan menunjukkan kepada anda cara lain untuk membaca fail: baca fail baris demi baris Mari lihat cara membaca kandungan fail baris demi baris dan keluarkannya.
Terdapat fail teks bernama "test.txt", yang kandungannya ialah:
Bagaimana kita membaca kandungan baris fail dengan talian dan Output? Mudah, hari ini kami akan memperkenalkan dua kaedah kepada anda.
Kaedah 1: Gunakan fungsi fgets()
Mari kita lihat contoh kod:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $handle = fopen('./test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgets($handle,1024))) { //循环读取文件内容 echo $char."<br>"; } fclose($handle); //关闭文件 ?>
Hasil output :
Analisis fungsi utama:
fungsi fgets() digunakan untuk membaca baris data daripada fail terbuka dan menerima parameter yang diperlukan$file
(fail sedang dibuka) dan parameter pilihan $length
(bilangan bait untuk dibaca); jika parameter $length
ditinggalkan, panjang bacaan lalai ialah 1k (iaitu 1024 bait). Fungsi
fgets() berhenti selepas menemui 换行符
, EOF
(baca hingga hujung fail) atau mencapai panjang yang ditentukan $length-1
(panjang maksimum rentetan yang dikembalikan ialah $length-1
bait ).
Jika kami tidak tahu berapa banyak data dalam fail, kami boleh menggunakan fungsi filesize()
untuk mendapatkannya, yang boleh mengembalikan saiz fail yang ditentukan (bilangan bait).
Jadi contoh kod di atas boleh diubah suai:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $url = './test.txt'; $handle = fopen($url, 'r'); //打开文件 $size= filesize($url); //计算文件大小 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgets($handle,$size))) { //循环读取文件内容 echo $char."<br>"; } fclose($handle); //关闭文件 ?>
Hasil output adalah sama seperti di atas.
Kaedah 2: Gunakan fungsi fgetss()
Mari kita lihat contoh kod:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $handle = fopen('./test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgetss($handle,1024))) { //循环读取文件内容 echo $char."<br>"; } fclose($handle); //关闭文件 ?>
Hasil output:
Analisis fungsi utama:
fungsi fgetss() serupa dengan fungsi fgets(), kedua-duanya boleh membaca baris data daripada fail terbuka, perbezaan adalah fgetss Fungsi () akan menapis keluar tag HTML dan PHP dalam data. Fungsi
fgetss() menerima satu parameter yang diperlukan $file
dan dua parameter pilihan $length
dan $tags
. Parameter $file dan $length diperkenalkan dalam fungsi fgets() Anda boleh mengetahui lebih lanjut mengenainya di atas. Parameter $tags
digunakan untuk menentukan teg yang tidak akan dialih keluar Mari kita ketahui lebih lanjut mengenainya melalui contoh:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $handle = fopen('./test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgetss($handle,1024,"<h1>,<em>"))) { //循环读取文件内容 echo $char."<br>"; } fclose($handle); //关闭文件 ?>
Dalam kod di atas, kita. set Nilai parameter $tags ialah "<h1>,<em></em>
</h1>
", iaitu, tag <h1></h1>
dan <em></em>
tidak ditapis, jadi hasil output ialah:
Nota: Selepas mengendalikan fail, ingat untuk menggunakan fungsi fclose() untuk menutup fail!
Itu sahaja jika anda ingin mengetahui perkara lain, anda boleh klik ini. → →Pengendalian asas fail PHP
Disyorkan: 《Koleksi soalan temuduga PHP (koleksi)》《tutorial video php 》
Atas ialah kandungan terperinci Operasi fail PHP: baca fail baris demi baris. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!