在上一篇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標記,以便在遊覽器中顯示具體的換行效果,當然此函數的效率肯定是比較低的,不建議使用。
以上是php 檔案讀取系列方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!