溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP中fopen的使用方法

發(fā)布時(shí)間:2020-06-24 16:34:48 來(lái)源:億速云 閱讀:154 作者:元一 欄目:編程語(yǔ)言

這期內(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>

        fopen()mode 的可能值列表        
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è)資訊。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI