fopen() 函數(shù)用于在 PHP 中打開(kāi)文件。


打開(kāi)文件

fopen() 函數(shù)用于在 PHP 中打開(kāi)文件。

此函數(shù)的第一個(gè)參數(shù)含有要打開(kāi)的文件的名稱(chēng),第二個(gè)參數(shù)規(guī)定了使用哪種模式來(lái)打開(kāi)文件:

<html>
<body>
<?php
$file=fopen("welcome.txt","r");
?>
</body>
</html>
文件可能通過(guò)下列模式來(lái)打開(kāi):
模式描述
r只讀。在文件的開(kāi)頭開(kāi)始。
r+讀/寫(xiě)。在文件的開(kāi)頭開(kāi)始。
w只寫(xiě)。打開(kāi)并清空文件的內(nèi)容;如果文件不存在,則創(chuàng)建新文件。
w+讀/寫(xiě)。打開(kāi)并清空文件的內(nèi)容;如果文件不存在,則創(chuàng)建新文件。
a追加。打開(kāi)并向文件末尾進(jìn)行寫(xiě)操作,如果文件不存在,則創(chuàng)建新文件。
a+讀/追加。通過(guò)向文件末尾寫(xiě)內(nèi)容,來(lái)保持文件內(nèi)容。
x只寫(xiě)。創(chuàng)建新文件。如果文件已存在,則返回 FALSE 和一個(gè)錯(cuò)誤。
x+讀/寫(xiě)。創(chuàng)建新文件。如果文件已存在,則返回 FALSE 和一個(gè)錯(cuò)誤。

注釋?zhuān)?/strong>如果 fopen() 函數(shù)無(wú)法打開(kāi)指定文件,則返回 0 (false)。

實(shí)例

如果 fopen() 函數(shù)不能打開(kāi)指定的文件,下面的實(shí)例會(huì)生成一段消息:

<html>
<body>
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
?>
</body>
</html>

關(guān)閉文件

fclose() 函數(shù)用于關(guān)閉打開(kāi)的文件:

<?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ù)很有用。

注釋?zhuān)?/strong>在 w 、a 和 x 模式下,您無(wú)法讀取打開(kāi)的文件!

if (feof($file)) echo "文件結(jié)尾";

逐行讀取文件

fgets() 函數(shù)用于從文件中逐行讀取文件。

注釋?zhuān)?/strong>在調(diào)用該函數(shù)之后,文件指針會(huì)移動(dòng)到下一行。

實(shí)例

下面的實(shí)例逐行讀取文件,直到文件末尾為止:

<?php
$file = fopen("welcome.txt", "r") or exit("無(wú)法打開(kāi)文件!");
// 讀取文件每一行,直到文件結(jié)尾
while(!feof($file))

  {
    echo fgets($file). "<br>";

  }
fclose($file);
?>

逐字符讀取文件

fgetc() 函數(shù)用于從文件中逐字符地讀取文件。

注釋?zhuān)?/strong>在調(diào)用該函數(shù)之后,文件指針會(huì)移動(dòng)到下一個(gè)字符。

實(shí)例

下面的實(shí)例逐字符地讀取文件,直到文件末尾為止:

<?php
$file=fopen("welcome.txt","r") or exit("無(wú)法打開(kāi)文件!");
while (!feof($file))

  {
    echo fgetc($file);

  }
fclose($file);
?>

PHP Filesystem 參考手冊(cè)

如需查看 PHP 文件系統(tǒng)函數(shù)的完整參考手冊(cè),請(qǐng)?jiān)L問(wèn)我們的PHP Filesystem 參考手冊(cè)。