新聞中心

成都創(chuàng)新互聯(lián)公司專注于興安網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供興安營銷型網(wǎng)站建設(shè),興安網(wǎng)站制作、興安網(wǎng)頁設(shè)計、興安網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造興安網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供興安網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
有打開就有關(guān)閉,所以當(dāng)文件操作完成之后,需要將打開的文件關(guān)閉以釋放資源(fopen() 和 fclose() 函數(shù)通常是成對出現(xiàn)的),否則就會出現(xiàn)錯誤。
1、 選擇文件模式
在對文件進(jìn)行操作之前,服務(wù)器上的操作系統(tǒng)必須知道要對打開的文件進(jìn)行什么操作。操作系統(tǒng)需要了解在打開這個文件后,這個文件是否還允許其他腳本再打開,它還需要了解使用者(或腳本)是否具有在這種方式下使用該文件的權(quán)限。
從本質(zhì)上說,文件模式可以告訴操作系統(tǒng)一種機(jī)制,這種機(jī)制可以決定如何處理來自其他人或腳本的訪問請求,以及一種用來檢查你是否有權(quán)訪問這個特定的文件。
當(dāng)打開一個文件的時候,有以下 3 種選擇:
- 打開文件為了只讀、只寫或者讀和寫;
- 如果要寫一個文件,可以覆蓋所有已有的文件內(nèi)容,或者僅僅將新數(shù)據(jù)追加到文件末尾;
- 如果在一個區(qū)分了二進(jìn)制方式和純文本方式的系統(tǒng)上寫一個文件,還必須指定采用的方式。
函數(shù) fopen() 支持上述的 3 種方式的組合。
2、打開文件
PHP 中可以使用 fopen() 函數(shù)來打開文件或者 URL。如果打開成功,則返回文件指針資源;如果打開失敗則返回 FALSE,該函數(shù)的語法格式如下所示:
fopen(string $filename, string $mode[, bool $use_include_path = false[, resource $context]])
參數(shù)說明如下:
- $filename:為待打開文件的 URL,這個 URL 可以是文件所在服務(wù)器中的絕對路徑,也可以是相對路徑或者網(wǎng)絡(luò)資源中的文件;
- $mode:用來設(shè)置文件的打開方式(文件模式)。具體的值可以從下表中選?。?/li>
| mode | 說明 |
|---|---|
| r | 以只讀方式打開,將文件指針指向文件頭。 |
| r+ | 以讀寫方式打開,將文件指針指向文件頭。 |
| w | 以寫入方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則創(chuàng)建該文件。 |
| w+ | 以讀寫方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則創(chuàng)建該文件。 |
| a | 以寫入方式打開,將文件指針指向文件末尾。如果文件不存在則創(chuàng)建該文件。 |
| a+ | 以讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則創(chuàng)建該文件。 |
| x | 創(chuàng)建并以寫入方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE,并生成一條 E_WARNING 級別的錯誤信息。如果文件不存在則創(chuàng)建該文件。僅適用于本地文件。 |
| x+ | 創(chuàng)建并以讀寫方式打開,其他的行為和 x 一樣。 |
| c | 只打開文件進(jìn)行寫入,如果文件不存在,則創(chuàng)建該文件。如果文件存在,不會清空文件內(nèi)容,并將文件指針指向文件頭。 |
| c+ | 打開文件進(jìn)行讀寫,如果文件不存在,則創(chuàng)建該文件。如果文件存在,不會清空文件內(nèi)容,并將文件指針指向文件頭。 |
- $use_include_path:可選參數(shù),如果也需要在 include_path 中搜尋文件的話,可以將 $use_include_path 設(shè)為 1 或 TRUE;
- $context:可選參數(shù),在 PHP5.0.0 中增加了對上下文(Context)的支持。
【示例】使用 fopen() 函數(shù)打開文件。
';
$handle = fopen("D:/install/phpstudy/WWW/index.html", "wb");
var_dump($handle);echo '
';
$handle = fopen("http://c.biancheng.net/", "r");
var_dump($handle);
?>
運(yùn)行結(jié)果如下:
resource(3) of type (stream)
resource(4) of type (stream)
resource(5) of type (stream)
3、關(guān)閉文件
資源類型屬于 PHP 的基本類型之一,一旦完成資源的處理,一定要將其關(guān)閉,否則可能會出現(xiàn)一些意料不到的錯誤。
函數(shù) fclose() 可以關(guān)閉一個已打開的文件指針,成功時返回 TRUE,失敗則返回 FALSE。函數(shù)的語法格式如下:
fclose(resource $handle)
其中 $handle 為要關(guān)閉的文件指針,這個指針必須是有效,并且是通過 fopen() 或 fsockopen() 函數(shù)成功打開的。
【示例】使用 fclose() 關(guān)閉文件指針。
文件指針關(guān)閉之后:';
var_dump($handle);
?>
運(yùn)行結(jié)果如下:
文件指針關(guān)閉之前:resource(3) of type (stream)
文件指針關(guān)閉之后:resource(3) of type (Unknown)
網(wǎng)站欄目:PHPfopen()和fclose():打開和關(guān)閉文件
文章路徑:http://fisionsoft.com.cn/article/dhccogo.html


咨詢
建站咨詢
