檔案系統函式庫

fopen

(PHP3 , PHP4)

fopen ---  開啟檔案或URL

語法 : int fopen (string filename, string mode [, int use_include_path])

說明 : 

如果filename是以"http://"開始的,則HTTP1.0開啟連結到指定的伺服器,而且檔案指標指到傳回的文件的起點。一個'host:'與請求一起送出,是為了處理name-based虛擬主機。

無法處理HTTP轉向(redirects),因此必須包含延伸的斜線(slashes)在目錄上。

如果filename是以"ftp://"開始的,則ftp開啟連結到指定的伺服器,而且傳回所請求檔案的指標,如果伺服器並不提供被動模式ftp(passive mode ftp)時,這將會失敗。你可以經由ftp開啟檔案來讀或寫(兩者不能同時)。

如果filename是"php://stdin""php://stdout""php://stderr"其中之一時,將會開啟stdio資料流(stream)。這是在PHP 3.0.13中引見的,在先前的版本中,像是"/dev/stdin" 或 "/dev/fd/0"的檔案名稱,必須用來存取stdio資料流。

如果filename不是上述的樣式,則會從檔案系統開啟檔案,而且傳回檔案指標。

如果開啟失敗,則會傳回false。

mode可以是下列任何一個 :

                     內容設為0長度,即刪除原來的資料,若檔案不存在則試著去建立新檔

                       容設為0長度,即刪除原來的資料,若檔案不存在則試著建立新檔

                    著建立新檔

                      建立新檔

mode可以包含字母'b',這只有在二進制和文字檔之間有差異的系統才有用(例如在Unix它是無效的),如果不需要,它將會被忽略

如果你想要在include_path中搜尋檔案,你可以使用第三個選項並將它設為"1"

Example :

<?php

    $fp = fopen ("/home/rasmus/file.txt", "r");

    $fp = fopen ("/home/rasmus/file.gif", "wb");

    $fp = fopen ("http://www.php.net/", "r");

    $fp = fopen ("ftp://user:password@example.com/", "w");

?>

如果你在讀與寫檔案有問題,而且你是使用PHP的伺服器模組時,記得確認你所使用的檔案與目錄是伺服器程序(process)可利用的

在Windows平台,檔案的路徑必須小心的使用來逃脫任何的反斜線( \ ),或是使用斜線( / )

Example :

<?php

    $fp = fopen ("c:\\data\\info.txt", "r");

?>

參考 : fclose( )  fsockopen( )  popen( )


上一頁 首頁 下一頁