fopen()
函數打開文件或者URL。
如果打開失敗,本函數返回FALSE。
<? php $ file = fopen ( “ test.txt” , “ r” ) ; $ file = fopen ( “/home/test/test.txt” , “ r” ) ; $ file = fopen ( “/home/test/test.gif” , “ wb” ) ; $ file = fopen ( “ http://www.example.com/” , “ r” ) ; $ file = fopen ( “ ftp:// user:[email protected]/test.txt” , “ w” ) ; ? >
fopen ( filename , mode , include_path , context )
參數 | 描述 |
---|---|
filename | 必需。規定要打開的文件或URL。 |
mode | 必需。規定要求到該文件/流的訪問類型。可能的值見下表。 |
include_path | 可選。如果也需要在include_path 中檢索文件的話,可以將該參數設為1 或TRUE。 |
context | 可選。規定文件句柄的環境。 Context 是可以修改流的行為的一套選項。 |
mode | 說明 |
---|---|
"r" | 只讀方式打開,將文件指針指向文件頭。 |
"r+" | 讀寫方式打開,將文件指針指向文件頭。 |
"w" | 寫入方式打開,將文件指針指向文件頭並將文件大小截為零。如果文件不存在則嘗試創建之。 |
"w+" | 讀寫方式打開,將文件指針指向文件頭並將文件大小截為零。如果文件不存在則嘗試創建之。 |
"a" | 寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建之。 |
"a+" | 讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建之。 |
"x" |
創建並以寫入方式打開,將文件指針指向文件頭。如果文件已存在,則fopen() 調用失敗並返回FALSE,並生成一條E_WARNING 級別的錯誤信息。如果文件不存在則嘗試創建之。 這和給底層的open(2) 系統調用指定O_EXCL|O_CREAT 標記是等價的。 此選項被PHP 4.3.2 以及以後的版本所支持,僅能用於本地文件。 |
"x+" |
創建並以讀寫方式打開,將文件指針指向文件頭。如果文件已存在,則fopen() 調用失敗並返回FALSE,並生成一條E_WARNING 級別的錯誤信息。如果文件不存在則嘗試創建之。 這和給底層的open(2) 系統調用指定O_EXCL|O_CREAT 標記是等價的。 此選項被PHP 4.3.2 以及以後的版本所支持,僅能用於本地文件。 |
fopen()
將filename指定的名字資源綁定到一個流上。如果filename是" scheme://... " 的格式,則被當成一個URL,PHP 將搜索協議處理器(也被稱為封裝協議)來處理此模式。如果該協議尚未註冊封裝協議,PHP 將發出一條消息來幫助檢查腳本中潛在的問題並將filename當成一個普通的文件名繼續執行下去。
如果PHP 認為filename指定的是一個本地文件,將嘗試在該文件上打開一個流。該文件必須是PHP 可以訪問的,因此需要確認文件訪問權限允許該訪問。如果激活了安全模式或者open_basedir 則會應用進一步的限制。
如果PHP 認為filename指定的是一個已註冊的協議,而該協議被註冊為一個網絡URL,PHP 將檢查並確認allow_url_fopen 已被激活。如果關閉了,PHP 將發出一個警告,而fopen 的調用則失敗。
對context的支持是PHP 5.0.0 添加的。