PHP fopen怎麼用?

2020-07-16 10:06:25

PHP fopen怎麼用?

在PHP中fopen函數的作用是開啟檔案或者URL,其語法為「fopen($filename,$mode,$use_include_path,$context)」,返回值為檔案指標資源,如果開啟檔案失敗,會返回FALSE。

PHP fopen引數

filename

如果 filename 是 "scheme://..." 的格式,則被當成一個 URL,PHP 將搜尋協定處理器(也被稱為封裝協定)來處理此模式。如果該協定尚未註冊封裝協定,PHP 將發出一條訊息來幫助檢查指令碼中潛在的問題並將 filename 當成一個普通的檔名繼續執行下去。

如果 PHP 認為 filename 指定的是一個本地檔案,將嘗試在該檔案上開啟一個流。該檔案必須是 PHP 可以存取的,因此需要確認檔案存取許可權允許該存取。如果啟用了安全模式或者 open_basedir 則會應用進一步的限制。

如果 PHP 認為 filename 指定的是一個已註冊的協定,而該協定被註冊為一個網路 URL,PHP 將檢查並確認 allow_url_fopen 已被啟用。如果關閉了,PHP 將發出一個警告,而 fopen 的呼叫則失敗。

所支援的協定列表見支援的協定和封裝協定。某些協定(也被稱為 wrappers)支援 context 和/或 php.ini 選項。參見相應的頁面哪些選項可以被設定(例如 php.ini 中用於 http wrapper 的 user_agent 值)。

mode

mode 引數指定了所要求到該流的存取型別。可以是以下:

fopen()mode 的可能值列表
mode說明
'r'唯讀方式開啟,將檔案指標指向檔案頭。
'r+'讀寫方式開啟,將檔案指標指向檔案頭。
'w'寫入方式開啟,將檔案指標指向檔案頭並將檔案大小截為零。如果檔案不存在則嘗試建立之。
'w+'讀寫方式開啟,將檔案指標指向檔案頭並將檔案大小截為零。如果檔案不存在則嘗試建立之。
'a'寫入方式開啟,將檔案指標指向檔案末尾。如果檔案不存在則嘗試建立之。
'a+'讀寫方式開啟,將檔案指標指向檔案末尾。如果檔案不存在則嘗試建立之。
'x'建立並以寫入方式開啟,將檔案指標指向檔案頭。如果檔案已存在,則 fopen() 呼叫失敗並返回 FALSE,並生成一條 E_WARNING 級別的錯誤資訊。如果檔案不存在則嘗試建立之。這和給 底層的 open(2) 系統呼叫指定 O_EXCL|O_CREAT 標記是等價的。
'x+'建立並以讀寫方式開啟,其他的行為和 'x' 一樣。
'c'只開啟檔案進行寫入。如果檔案不存在,則建立該檔案。如果它存在,它既不會被截斷(與「w」相反),也不會呼叫此函數失敗(與「x」的情況一樣)。檔案指標位於檔案的開頭。如果需要在嘗試修改檔案之前獲取一個建議鎖(請參見flock()),這可能很有用,因為使用「w」可能會在獲取鎖之前截斷檔案(如果需要截斷,則可以在請求鎖之後使用ftruncate())。
'c+'開啟檔案進行讀寫;否則它的行為與「c」相同。

use_include_path

如果也需要在 include_path 中搜尋檔案的話,可以將可選的第三個引數 use_include_path 設為 '1' 或 TRUE。

推薦教學:《PHP

以上就是PHP fopen怎麼用?的詳細內容,更多請關注TW511.COM其它相關文章!