程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php打開文件fopen函數的使用說明

php打開文件fopen函數的使用說明

編輯:關於PHP編程
    本篇文章是對php中的打開文件fopen函數的使用進行了詳細的分析介紹,需要的朋友參考下  

    1.resource  fopen(string  $filename, string $mode [,bool $use_include_path [, resource $zcontext]])
    函數功能:
    fopen() 將 filename 指定的名字資源綁定到一個流上。如果filename 是 "scheme://..." 的格式,則被當成一個 URL,PHP 將搜索協議處理器(也被稱為封裝協議)來處理此模式。如果該協議尚未注冊封裝協議,PHP 將發出一條消息來幫助檢查腳本中潛在的問題並將filename 當成一個普通的文件名繼續執行下去。
    如果 PHP 認為 filename 指定的是一個本地文件,將嘗試在該文件上打開一個流。該文件必須是 PHP 可以訪問的,因此需要確認文件訪問權限允許該訪問。如果激活了安全模式或者open_basedir 則會應用進一步的限制。

    如果 PHP 認為 filename 指定的是一個已注冊的協議,而該協議被注冊為一個網絡 URL,PHP 將檢查並確認allow_url_fopen 已被激活。如果關閉了,PHP 將發出一個警告,而 fopen 的調用則失敗。

    filename:規定要打開的文件或URL。
    mode:規定要求到該文件/流的訪問類型。
    include_path:可選,如果也需要在include_path中檢索文件的話,可以將該參數設為1或TRUE。
    context:可選,規定文件句柄的環境,Context是可以修該流的行為的一套選項。

    mode 參數的可能的值
    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 以及以後的版本所支持,僅能用於本地文件。

    Note:
    不同的操作系統家族具有不同的行結束習慣。當寫入一個文本文件並想插入一個新行時,需要使用 符合操作系統的行結束符號。基於 Unix 的系統使用n 作為行結束字符,基於 Windows 的系統使用 rn 作為行結束字符,基於 Macintosh 的系統使用 r 作為行結束字符。

    如果寫入文件時使用了錯誤的行結束符號,則其它應用程序打開這些文件時可能會表現得很怪異。
    Windows 下提供了一個文本轉換標記('t')可以透明地將 n 轉換為 rn。與此對應還可以使用'b' 來強制使用二進制模式,這樣就不會轉換數據。要使用這些標記,要麼用 'b' 或者用 't' 作為 mode 參數的最後一個字符。

    默 認的轉換模式依賴於 SAPI 和所使用的 PHP 版本,因此為了便於移植鼓勵總是指定恰當的標記。如果是操作純文本文件並在腳本中使用了n 作為行結束符,但還要期望這些文件可以被其它應用程序例如 Notepad 讀取,則在 mode 中使用 't'。在所有其它情況下使用'b'。

    在操作二進制文件時如果沒有指定 'b' 標記,可能會碰到一些奇怪的問題,包括壞掉的圖片文件以及關於 rn 字符的奇怪問題。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved