您好,登錄后才能下訂單哦!
這期內容當中的小編將會給大家帶來有關PHP中fopen的使用方法,以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
fopen介紹
fopen() 將 filename 指定的名字資源綁定到一個流上。如果 filename 是 "scheme://..." 的格式,則被當成一個 URL,PHP 將搜索協議處理器(也被稱為封裝協議)來處理此模式。如果該協議尚未注冊封裝協議,PHP 將發出一條消息來幫助檢查腳本中潛在的問題并將 filename 當成一個普通的文件名繼續執行下去。
如果 PHP 認為 filename 指定的是一個本地文件,將嘗試在該文件上打開一個流。該文件必須是 PHP 可以訪問的,因此需要確認文件訪問權限允許該訪問。如果激活了 安全模式 或者 open_basedir 則會應用進一步的限制。
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 參數指定了所要求到該流的訪問類型。可以是以下:
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中fopen的使用方法了,如果您也有類似的疑惑,不妨礙參照上述分析進行理解。如果想了解更多相關內容,請關注億速云行業資訊。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。