程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 用PHP讀取文件的正確方法

用PHP讀取文件的正確方法

編輯:PHP綜合

了解如何使用 PHP 的各種文件函數。查看諸如 fopen、fclose 和 feof 之類的基本文件函數;了解諸如 fgets、fgetss 和 fscanf 之類的讀取函數。並且發現用一兩行代碼處理整個文件的函數。

讓我們算一算有多少種方法

處理諸如 PHP 之類的現代編程語言的樂趣之一就是有大量的選項可用。PHP 可以輕松地贏得 Perl 的座右銘“There's more than one way to do it”(並非只有一種方法可做這件事),尤其是在文件處理上。但是在這麼多可用的選項中,哪一種是完成作業的最佳工具?當然,實際答案取決於解析文件的目標,因此值得花時間探究所有選項。

傳統的 fopen 方法

fopen 方法可能是以前的 C 和 C++ 程序員最熟悉的,因為如果您使用過這些語言,那麼它們或多或少都是您已掌握多年的工具。對於這些方法中的任何一種,通過使用 fopen(用於讀取數據的函數)的標准方法打開文件,然後使用 fclose 關閉文件,如清單 1 所示。

清單 1. 用 fgets 打開並讀取文件

$file_handle = fopen("myfile", "r");
while (!feof($file_handle)) {
  $line = fgets($file_handle);
  echo $line;
}
fclose($file_handle);

雖然大多數具有多年編程經驗的程序員都熟悉這些函數,但是讓我對這些函數進行分解。有效地執行以下步驟:

打開文件。$file_handle 存儲了一個對文件本身的引用。

檢查您是否已到達文件的末尾。

繼續讀取文件,直至到達文件末尾,邊讀取邊打印每行。

關閉文件。

記住這些步驟,我將回顧在這裡使用的每個文件函數。

fopen

fopen 函數將創建與文件的連接。我之所以說“創建連接”,是因為除了打開文件之外,fopen 還可以打開一個 URL:

$fh = fopen("http://127.0.0.1/", "r");

這行代碼將創建一個與以上頁面的連接,並允許您開始像讀取一個本地文件一樣讀取它。

注: fopen 中使用的 "r" 將指示文件以只讀方式打開。由於將數據寫入文件不在本文的討論范圍內,因此我將不列出所有其他選項。但是,如果是從二進制文件讀取以獲得跨平台兼容性,則應當將 "r" 更改為 "rb"。稍後您將看到這樣的示例。

feof

feof 命令將檢測您是否已經讀到文件的末尾並返回 True 或 False。清單 1 中的循環將繼續執行,直至您達到文件“myfile”的末尾。注:如果讀取的是 URL 並且套接字由於不再有任何數據可以讀取而超時,則 feof 也將返回 False。

fclose

向前跳至清單 1 的末尾,fclose 將實現與 fopen 相反的功能:它將關閉指向文件或 URL 的連接。執行此函數後,您將不再能夠從文件或套接字中讀取任何信息。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved