php 檔案讀取系列方法詳解

來源:互聯網
上載者:User
在上一篇PHP教程中介紹了如何利用PHP實現檔案讀寫操作中的檔案寫入功能,接下來和大家分享PHP檔案讀取功能的應用執行個體,PHP檔案讀取操作相對於檔案寫入操作涉及更多的PHP檔案操作函數,在代碼執行個體中會詳細介紹這些函數。

讀取文字檔中儲存資料的方式主要涉及的三個步驟及部分檔案操作函數如下:

1、開啟檔案(檔案操作函數:fopen)

2、檔案資料讀取(檔案操作函數:fgets、file、readfile、feof等)

3、關閉檔案(檔案操作函數:fclose)

下面仍然以PHP檔案讀寫作業碼執行個體講解檔案讀取方法的具體應用,在執行個體中,通過調用不同的PHP檔案讀取操作函數讀取文字檔中的資料,你可以加深PHP檔案讀取操作函數的理解,以便在PHP網站開發中合理應用。文字檔中寫入的資料來自於PHP檔案讀寫操作之檔案寫入教程,fopen函數中關於檔案讀寫入模式也可參考此文。

PHP檔案讀取作業碼執行個體

<?php    $readFun = "fread";    switch ($readFun)    {        case "fgetss":            @$fp = fopen("leapsoulcn.txt","r") or die("system error");            $allowable_tags = "<h1>";            while (!feof($fp)) {                $output = fgetss($fp,100,$allowable_tags);                echo $output;            }            fclose($fp);            break;        case "fgetcsv":            @$fp = fopen("leapsoulcn.txt","r") or die("system error");            while (!feof($fp)) {                $output = fgetcsv($fp,100,"\t");                print_r($output);            }            fclose($fp);            break;        case "readfile":            echo readfile("leapsoulcn.txt");            break;        case "fpassthru":            @$fp = fopen("leapsoulcn.txt","r") or die("system error");            if(!fpassthru($fp))                exit();            fclose($fp);            break;        case "file":            $output = file("leapsoulcn.txt");            print_r($output);            break;        case "fgetc":            @$fp = fopen("leapsoulcn.txt","r") or die("system error");            while (!feof($fp)) {                $str = fgetc($fp);                echo ($str == "\n"?"<br/>":$str);            }            fclose($fp);            break;        case "fread":            @$fp = fopen("leapsoulcn.txt","r") or die("system error");            echo fread($fp,300);            fclose($fp);            break;        default:            @$fp = fopen("leapsoulcn.txt","r") or die("system error");            while (!feof($fp)) {                $output = fgets($fp,100);                echo $output;            }            fclose($fp);            break;    }?>

注釋:在上述執行個體中你可以通過對$readFun賦值來實現不同的PHP檔案讀取方法的調用,涉及的PHP檔案讀取操作函數有fgets、fgetss、fgetcsv、readfile、fpassthru、file、fgetc等函數。

在代碼執行個體中,預設PHP檔案讀取操作函數為fgets,fgetss與fgetcsv函數的功能與fgets一樣,都是一次讀取檔案中的一行,直到檔案末尾。此處我設定讀取文字檔中的資料長度為100,即最大讀取長度為99(100-1),這樣,當遇到分行符號\n或檔案結束符EOF或從檔案中讀取完99個位元組時就停止讀取資料。fgets函數返迴文件讀取的資料,字串型。

fgetc:讀取單個字元

fgetc函數用來讀取一個字元,在代碼執行個體中我通過一個一個讀取字元,當遇到\n字元時將其轉換成html檔案中的br標記,以便在遊覽器中顯示具體的換行效果,當然此函數的效率肯定是比較低的,不建議使用。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.