中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何逐行讀取文件

發布時間:2021-08-03 17:49:08 來源:億速云 閱讀:221 作者:chen 欄目:編程語言

這篇文章主要講解了“php如何逐行讀取文件”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“php如何逐行讀取文件”吧!

有一個名為“test.txt”的文本文件,里面的內容為:

php如何逐行讀取文件

我們如何逐行讀取文件中的內容并輸出?簡單,今天我們就來給大家介紹兩種方法。

方法1:使用fgets()函數

我們來看看代碼示例:

<?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);                                    //關閉文件
?>

輸出結果:

php如何逐行讀取文件

關鍵函數分析:

fgets()函數用于從打開的文件中讀取一行數據,接受一個必需參數$file(被打開的文件)和一個可選參數$length(要讀取的字節數);如果省略了 $length 參數,則默認讀取 1k(即1024字節)長度。

fgets()函數在遇到換行符EOF(讀到文件末尾)或者到達指定長度 $length-1 后停止(返回字符串長度最大值為 $length-1 個字節)。

如果我們不知道文件中有多少數據,可以使用filesize()函數來獲取,該函數可以返回指定文件的大小(字節數)。

所以上面的代碼示例可以修改一下:

<?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);                                    //關閉文件
?>

輸出結果和上面是一樣的。

方法2:使用fgetss()函數

我們來看看代碼示例:

<?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);                                    //關閉文件
?>

輸出結果:

php如何逐行讀取文件

關鍵函數分析:

fgetss()函數和fgets()函數相似,都可以從打開的文件中讀取一行數據,不同的是fgetss()函數會過濾掉數據中的 HTML 和 PHP 標簽。

fgetss() 函數接受一個必需參數$file、兩個可選參數$length$tags。參數$file和$length在fgets()函數中介紹過來,大家可以去上文了解。而參數$tags是用來指定哪些標記不被去掉,我們通過一個例子來具體了解一下:

php如何逐行讀取文件

<?php
header("Content-Type: text/html;charset=utf-8");    //設置字符編碼
$handle = fopen('./test.txt', 'r');                 //打開文件
if (!$handle) {                                     //判斷文件是否打開成功
    echo '文件打開失敗!';
}
while (false !== ($char = fgetss($handle,1024,"<h2>,<em>"))) {        //循環讀取文件內容
    echo $char."<br>";
}
fclose($handle);                                    //關閉文件
?>

在上面的代碼中,我們設置參數$tags的值為“<h2>,<em>”,也就是不過濾<h2><em>標簽,因此輸出結果:

php如何逐行讀取文件

注意:在操作完文件后,要記得使用fclose()函數來關閉文件!

感謝各位的閱讀,以上就是“php如何逐行讀取文件”的內容了,經過本文的學習后,相信大家對php如何逐行讀取文件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

大田县| 宝丰县| 高密市| 安泽县| 湘潭县| 淮阳县| 龙游县| 临泉县| 托克逊县| 苍溪县| 诸城市| 巢湖市| 措勤县| 炉霍县| 安国市| 遂宁市| 奇台县| 星子县| 札达县| 扬中市| 开平市| 个旧市| 长白| 宜君县| 晋城| 东宁县| 金乡县| 武冈市| 西平县| 鄂州市| 古田县| 七台河市| 乌拉特后旗| 宁乡县| 平潭县| 庄河市| 丰台区| 沈阳市| 东乡族自治县| 永宁县| 阳春市|