幾個PHP讀取整個文件的函數readfile()、fpassthru()和file()


2.7.4   讀取整個文件:readfile()、fpassthru()和file()
除了可以每次讀取文件一行外,還可以一次讀取整個文件。PHP提供了4種不同的方式來讀取整個文件。
第一種方式是readfile()。可以使用如下一行語句來代替前面所編寫的所有腳本:

 

[php]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. define('DOCPATH', dirname(__FILE__).'/');  
  2.     echo readfile(DOCPATH.'form.class.php');  

 

 

調用readfile()函數將打開這個文件,並且將文件內容輸出到標准輸出(瀏覽器)中,然后再關閉這個文件。readfile()的函數原型如下所示: 
第二個可選參數指定了PHP是否應該在include_path中查找文件,這一點與fopen()函數一樣。可選的context參數只有在文件被遠程打開(例如通過HTTP)時才使用;我們將在第19章詳細介紹這種用法。這個函數的返回值是從文件中讀出的字節總數。
第二種方式是fpassthru()。要使用這個函數,必須先使用fopen()打開文件。然后將文件指針作為參數傳遞給fpassthru()。這樣就可以把文件指針所指向的文件內容發送到標准輸出。然后再將這個文件關閉。
可以使用如下代碼替代前面的腳本:
 
如果讀操作成功,fpassthru()函數將返回true,否則返回false。
第三種讀取整個文件的函數是file()。除了可以將文件內容回顯到標准輸出外,它和readfile()是一樣的,它是把結果發送到一個數組中。我們將在第3章介紹數組時詳細介紹。作為參考,可以按如下方式調用它: 
這行代碼可以將整個文件讀入到一個名為$filearray的數組中。文件中的每一行都將作為一個元素保存在這個數組中。
最后,在PHP 4.3.0中,還可以使用file_get_contents()函數。這個函數與readfile()相同,但是該函數將以字符串的形式返回文件內容,而不是將文件內容回顯到瀏覽器中。這個新函數的優點在於,它是二進制安全的,這一點不同於file()函數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM