站長資訊網
        最全最豐富的資訊網站

        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,"<h1>,<em>"))) {        //循環讀取文件內容     echo $char."<br>"; } fclose($handle);                                    //關閉文件 ?>

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

        php文件操作之逐行讀取文件

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

        好了就說到這里了,有其他想知道的,可以點擊這個哦。→ →PHP文件基礎操作

        推薦:《PHP面試題大匯總(收藏)》《php視頻教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品高清视亚洲精品| 精品亚洲综合在线第一区| 成人国内精品久久久久一区| 国产玖玖玖九九精品视频| 高清免费久久午夜精品| 国产精品一香蕉国产线看观看| 精品乱码一区二区三区四区| 男女男精品网站免费观看| 真实国产乱子伦精品免费| 国内精品久久久久影院日本| 在线涩涩免费观看国产精品| 亚洲精品无码午夜福利中文字幕 | 黑人无码精品又粗又大又长| 国产精品一区二区久久精品| 国产精品熟女高潮视频| 色欲精品国产一区二区三区AV| 精品性影院一区二区三区内射| 久久精品亚洲精品国产欧美| 亚洲国产精品VA在线看黑人| 国模和精品嫩模私拍视频| 欧美精品福利视频| 99精品久久精品| 国产精品无圣光一区二区| 亚洲国产另类久久久精品 | 亚洲精品无码久久久久sm| 久久99精品国产99久久6| 国产精品内射视频免费| 2021年精品国产福利在线| 久久国产免费观看精品| 国内精品久久国产大陆| 91视频国产精品| 高清在线亚洲精品国产二区| 91麻豆国产福利精品| 国产一精品一av一免费爽爽| 好属妞这里只有精品久久| 久久精品国产免费| 欧美精品1区2区| 国产欧美日韩综合精品二区| 狠狠精品干练久久久无码中文字幕| 国产综合色产在线精品| 欧美日韩精品久久久久|