您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中的小編將會(huì)給大家?guī)?lái)有關(guān)PHP中fopen的使用方法,以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
fopen介紹
fopen() 將 filename 指定的名字資源綁定到一個(gè)流上。如果 filename 是 "scheme://..." 的格式,則被當(dāng)成一個(gè) URL,PHP 將搜索協(xié)議處理器(也被稱為封裝協(xié)議)來(lái)處理此模式。如果該協(xié)議尚未注冊(cè)封裝協(xié)議,PHP 將發(fā)出一條消息來(lái)幫助檢查腳本中潛在的問(wèn)題并將 filename 當(dāng)成一個(gè)普通的文件名繼續(xù)執(zhí)行下去。
如果 PHP 認(rèn)為 filename 指定的是一個(gè)本地文件,將嘗試在該文件上打開(kāi)一個(gè)流。該文件必須是 PHP 可以訪問(wèn)的,因此需要確認(rèn)文件訪問(wèn)權(quán)限允許該訪問(wèn)。如果激活了 安全模式 或者 open_basedir 則會(huì)應(yīng)用進(jìn)一步的限制。
fopen參數(shù)
filename
如果 filename 是 "scheme://..." 的格式,則被當(dāng)成一個(gè) URL,PHP 將搜索協(xié)議處理器(也被稱為封裝協(xié)議)來(lái)處理此模式。如果該協(xié)議尚未注冊(cè)封裝協(xié)議,PHP 將發(fā)出一條消息來(lái)幫助檢查腳本中潛在的問(wèn)題并將 filename 當(dāng)成一個(gè)普通的文件名繼續(xù)執(zhí)行下去。
如果 PHP 認(rèn)為 filename 指定的是一個(gè)本地文件,將嘗試在該文件上打開(kāi)一個(gè)流。該文件必須是 PHP 可以訪問(wèn)的,因此需要確認(rèn)文件訪問(wèn)權(quán)限允許該訪問(wèn)。如果激活了安全模式或者 open_basedir 則會(huì)應(yīng)用進(jìn)一步的限制。
如果 PHP 認(rèn)為 filename 指定的是一個(gè)已注冊(cè)的協(xié)議,而該協(xié)議被注冊(cè)為一個(gè)網(wǎng)絡(luò) URL,PHP 將檢查并確認(rèn) allow_url_fopen 已被激活。如果關(guān)閉了,PHP 將發(fā)出一個(gè)警告,而 fopen 的調(diào)用則失敗。
所支持的協(xié)議列表見(jiàn)支持的協(xié)議和封裝協(xié)議。某些協(xié)議(也被稱為 wrappers)支持 context 和/或 php.ini 選項(xiàng)。參見(jiàn)相應(yīng)的頁(yè)面哪些選項(xiàng)可以被設(shè)定(例如 php.ini 中用于 http wrapper 的 user_agent 值)。
mode
mode 參數(shù)指定了所要求到該流的訪問(wèn)類型??梢允且韵拢?/p>
mode | 說(shuō)明 |
---|---|
'r' | 只讀方式打開(kāi),將文件指針指向文件頭。 |
'r+' | 讀寫方式打開(kāi),將文件指針指向文件頭。 |
'w' | 寫入方式打開(kāi),將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建之。 |
'w+' | 讀寫方式打開(kāi),將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建之。 |
'a' | 寫入方式打開(kāi),將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之。 |
'a+' | 讀寫方式打開(kāi),將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之。 |
'x' | 創(chuàng)建并以寫入方式打開(kāi),將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE ,并生成一條 E_WARNING 級(jí)別的錯(cuò)誤信息。如果文件不存在則嘗試創(chuàng)建之。這和給
底層的 open(2) 系統(tǒng)調(diào)用指定 O_EXCL|O_CREAT 標(biāo)記是等價(jià)的。 |
'x+' | 創(chuàng)建并以讀寫方式打開(kāi),其他的行為和 'x' 一樣。 |
'c' | 只打開(kāi)文件進(jìn)行寫入。如果文件不存在,則創(chuàng)建該文件。如果它存在,它既不會(huì)被截?cái)啵ㄅc“w”相反),也不會(huì)調(diào)用此函數(shù)失?。ㄅc“x”的情況一樣)。文件指針位于文件的開(kāi)頭。如果需要在嘗試修改文件之前獲取一個(gè)建議鎖(請(qǐng)參見(jiàn)flock()),這可能很有用,因?yàn)槭褂谩皐”可能會(huì)在獲取鎖之前截?cái)辔募ㄈ绻枰財(cái)?,則可以在請(qǐng)求鎖之后使用ftruncate())。 |
'c+' | 打開(kāi)文件進(jìn)行讀寫;否則它的行為與“c”相同。 |
use_include_path
如果也需要在 include_path 中搜尋文件的話,可以將可選的第三個(gè)參數(shù) use_include_path 設(shè)為 '1' 或 TRUE。
上述就是小編為大家分享的PHP中fopen的使用方法了,如果您也有類似的疑惑,不妨礙參照上述分析進(jìn)行理解。如果想了解更多相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。