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

        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號
        主站蜘蛛池模板: 久久精品一本到99热免费| 国产精品素人搭讪在线播放 | 亚洲一区无码精品色| 亚洲欧美精品伊人久久| 精品国产一区AV天美传媒| 麻豆国内精品欧美在线| 欧美精品亚洲精品日韩1818| 精品人妻码一区二区三区| 亚洲国产精品综合久久网络| 国产精品一级毛片无码视频| 精品国产一区二区三区久久| 精品不卡一区二区| 欧洲精品久久久av无码电影| 中文字幕无码精品三级在线电影 | 无码人妻精品一区二区三区99不卡 | 国产精品无码无在线观看| 欧美精品亚洲精品日韩精品| 国产成人亚洲精品91专区手机| 精品亚洲综合在线第一区| 国产AV无码专区亚洲精品 | 亚洲2022国产成人精品无码区| 午夜精品一区二区三区在线视| 久久www免费人成精品香蕉| 国产精品一区二区av不卡| 国产精品自在线拍国产电影| 国产99视频精品免费视频76| 中文字幕亚洲综合精品一区| 四虎影视国产精品永久在线| 秋霞午夜鲁丝片午夜精品久| 2024国产精品极品色在线| 影音先锋国产精品国语对白| 99精品伊人久久久大香线蕉| 国产福利精品视频自拍 | 成人午夜精品视频在线观看| 成人久久精品一区二区三区| 久久99精品久久久久久| 亚洲国产精品久久66| 国产成人精品曰本亚洲79ren| 精品国产婷婷久久久| 日韩精品一区二区三区影院| 在线观看91精品国产网站|