Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Operasi fail PHP: baca fail baris demi baris

Operasi fail PHP: baca fail baris demi baris

青灯夜游
青灯夜游asal
2021-08-03 17:09:399279semak imbas

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:

Operasi fail PHP: baca fail baris demi baris

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(&#39;./test.txt&#39;, &#39;r&#39;);                 //打开文件
if (!$handle) {                                     //判断文件是否打开成功
    echo &#39;文件打开失败!&#39;;
}
while (false !== ($char = fgets($handle,1024))) {        //循环读取文件内容
    echo $char."<br>";
}
fclose($handle);                                    //关闭文件
?>

Hasil output :

Operasi fail PHP: baca fail baris demi baris

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 = &#39;./test.txt&#39;;
$handle = fopen($url, &#39;r&#39;);                 //打开文件 
$size= filesize($url);                  //计算文件大小
if (!$handle) {                                     //判断文件是否打开成功
    echo &#39;文件打开失败!&#39;;
}
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(&#39;./test.txt&#39;, &#39;r&#39;);                 //打开文件
if (!$handle) {                                     //判断文件是否打开成功
    echo &#39;文件打开失败!&#39;;
}
while (false !== ($char = fgetss($handle,1024))) {        //循环读取文件内容
    echo $char."<br>";
}
fclose($handle);                                    //关闭文件
?>

Hasil output:

Operasi fail PHP: baca fail baris demi baris

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:

Operasi fail PHP: baca fail baris demi baris

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$handle = fopen(&#39;./test.txt&#39;, &#39;r&#39;);                 //打开文件
if (!$handle) {                                     //判断文件是否打开成功
    echo &#39;文件打开失败!&#39;;
}
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:

Operasi fail PHP: baca fail baris demi baris

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn