打開檔
fopen() 函數用於在 PHP 中打開檔。
此函數的第一個參數含有要打開的檔的名稱,第二個參數規定了使用哪種模式來打開檔:
<html> <body> <?php $file=fopen("welcome.txt","r"); ?> </body> </html>
檔可能通過下列模式來打開:
模式 描述 r 唯讀。 在檔的開頭開始。 r+ 讀/寫。 在檔的開頭開始。 w 只寫。 打開並清空檔的內容;如果檔不存在,則創建新檔。 w+ 讀/寫。 打開並清空檔的內容;如果檔不存在,則創建新檔。 a 追加。 打開並向檔檔的末端進行寫操作,如果檔不存在,則創建新檔。 a+ 讀/追加。 通過向檔末端寫內容,來保持檔內容。 x 只寫。 創建新檔。 如果檔以存在,則返回 FALSE。 x+
讀/寫。 創建新檔。 如果檔已存在,則返回 FALSE 和一個錯誤。
注釋:如果 fopen() 無法打開指定檔,則返回 0 (false)。
例子
如果 fopen() 不能打開指定的檔,下面的例子會生成一段消息:
<html> <body> <?php $file=fopen("welcome.txt","r") or exit("Unable to open file!"); ?> </body> </html> 關閉檔
fclose() 函數用於關閉打開的檔。
<?php $file = fopen("test.txt","r"); some code to be executed fclose($file); ?> 檢測 End-of-file
feof() 函數檢測是否已達到檔的末端 (EOF)。
在迴圈遍歷未知長度的資料時,feof() 函數很有用。
注釋:在 w 、a 以及 x 模式,您無法讀取打開的檔!
if (feof($file)) echo "End of file"; 逐行讀取檔
fgets() 函數用於從檔中逐行讀取檔。
注釋:在調用該函數之後,檔指標會移動到下一行。
例子
下面的例子逐行讀取檔,直到檔末端為止:
<?php $file = fopen("welcome.txt", "r") or exit("Unable to open file!"); Output a line of the file until the end is reached while(!feof($file)) { echo fgets($file). "<br />"; } fclose($file); ?> 逐字元讀取檔
fgetc() 函數用於從檔逐字元地讀取檔。
注釋:在調用該函數之後,檔指標會移動到下一個字元。
例子
下面的例子逐字元地讀取檔,直到檔末端為止:
<?php $file=fopen("welcome.txt","r") or exit("Unable to open file!"); while (!feof($file)) { echo fgetc($file); } fclose($file);