fopen() 函數用于在 PHP 中打開文件。
PHP 文件處理
打開文件
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); ?>
PHP Filesystem 參考手冊
如需完整的 PHP 文件系統參考手冊,請訪問 W3School 提供的 PHP Filesystem 參考手冊。