fopen() 函數(shù)用于在 PHP 中打開文件。
打開文件
fopen() 函數(shù)用于在 PHP 中打開文件。
此函數(shù)的第一個(gè)參數(shù)含有要打開的文件的名稱,第二個(gè)參數(shù)規(guī)定了使用哪種模式來打開文件:
<html> <body> <?php $file=fopen("welcome.txt","r"); ?> </body> </html>文件可能通過下列模式來打開:
模式 | 描述 |
---|---|
r | 只讀。在文件的開頭開始。 |
r+ | 讀/寫。在文件的開頭開始。 |
w | 只寫。打開并清空文件的內(nèi)容;如果文件不存在,則創(chuàng)建新文件。 |
w+ | 讀/寫。打開并清空文件的內(nèi)容;如果文件不存在,則創(chuàng)建新文件。 |
a | 追加。打開并向文件末尾進(jìn)行寫操作,如果文件不存在,則創(chuàng)建新文件。 |
a+ | 讀/追加。通過向文件末尾寫內(nèi)容,來保持文件內(nèi)容。 |
x | 只寫。創(chuàng)建新文件。如果文件已存在,則返回 FALSE 和一個(gè)錯(cuò)誤。 |
x+ | 讀/寫。創(chuàng)建新文件。如果文件已存在,則返回 FALSE 和一個(gè)錯(cuò)誤。 |
注釋:如果 fopen() 函數(shù)無法打開指定文件,則返回 0 (false)。
實(shí)例
如果 fopen() 函數(shù)不能打開指定的文件,下面的實(shí)例會(huì)生成一段消息:
<html> <body> <?php $file=fopen("welcome.txt","r") or exit("Unable to open file!"); ?> </body> </html>
關(guān)閉文件
fclose() 函數(shù)用于關(guān)閉打開的文件:
<?php $file = fopen("test.txt","r"); //執(zhí)行一些代碼 fclose($file); ?>
檢測(cè)文件末尾(EOF)
feof() 函數(shù)檢測(cè)是否已到達(dá)文件末尾(EOF)。
在循環(huán)遍歷未知長(zhǎng)度的數(shù)據(jù)時(shí),feof() 函數(shù)很有用。
注釋:在 w 、a 和 x 模式下,您無法讀取打開的文件!
if (feof($file)) echo "文件結(jié)尾";
逐行讀取文件
fgets() 函數(shù)用于從文件中逐行讀取文件。
注釋:在調(diào)用該函數(shù)之后,文件指針會(huì)移動(dòng)到下一行。
實(shí)例
下面的實(shí)例逐行讀取文件,直到文件末尾為止:
<?php $file = fopen("welcome.txt", "r") or exit("無法打開文件!"); // 讀取文件每一行,直到文件結(jié)尾 while(!feof($file)) { echo fgets($file). "<br>"; } fclose($file); ?>
逐字符讀取文件
fgetc() 函數(shù)用于從文件中逐字符地讀取文件。
注釋:在調(diào)用該函數(shù)之后,文件指針會(huì)移動(dòng)到下一個(gè)字符。
實(shí)例
下面的實(shí)例逐字符地讀取文件,直到文件末尾為止:
<?php $file=fopen("welcome.txt","r") or exit("無法打開文件!"); while (!feof($file)) { echo fgetc($file); } fclose($file); ?>
PHP Filesystem 參考手冊(cè)
如需查看 PHP 文件系統(tǒng)函數(shù)的完整參考手冊(cè),請(qǐng)?jiān)L問我們的PHP Filesystem 參考手冊(cè)。