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

        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號
        主站蜘蛛池模板: 国内精品久久久久久野外| 柠檬福利精品视频导航| 国产精品对白刺激久久久| 精品日韩欧美国产| 成人午夜精品视频在线观看| 国产精品视频色拍拍| 欧美XXXX黑人又粗又长精品| 久久99精品国产一区二区三区| 一本之道av不卡精品| 国产精品最新国产精品第十页| 99久久国语露脸精品国产| 中文字幕精品亚洲无线码一区应用| 国产亚洲精品国产| 老湿亚洲永久精品ww47香蕉图片| 色偷偷888欧美精品久久久| 国产精品99精品久久免费| 亚洲av永久无码精品秋霞电影影院| 久久综合精品国产一区二区三区| 四虎国产精品永久地址51| 国产精品亚洲午夜一区二区三区 | 午夜精品在线观看| 国产精品偷伦视频观看免费| 中文字幕日韩精品在线| 亚洲精品美女久久久久99小说| 免费精品国自产拍在线播放| 精品久久久久久无码中文字幕 | 四虎影院国产精品| 久久99精品久久久久久不卡| 国产精品国产三级国产| 四虎影视国产精品亚洲精品hd| 精品一区二区三区在线视频| 国产精品久久久久久| 国产精品国产精品国产专区不卡 | 国产一区二区精品| 久久精品国产一区二区三区日韩| 国内精品免费在线观看| 久久99热国产这有精品| 亚洲精品欧美综合在线| 99九九精品免费视频观看| 国产精品原创巨作?v网站| 久久久无码精品午夜|