fopen
(PHP 3, PHP 4 >= 4.0.0)fopen — 打開文件或URL描述
int fopen (string filename, string mode [, int use_include_path])
如果filename 以”https://”開始 (大小寫不敏感), 則本函數用HTTP 1.0連接打開指定的服務器,這個頁面被使用HTTP GET模式來請求,文件指針指向被返回的服務器響應文件的起始處。一個帶有請求虛擬主機的基本名字的Host:頭被發送。
註意,這個文件指針允許你重新找回響應的the body :你不能使用這個函數存取 HTTP 響應頭。
在PHP 4.0.5以下不能重定向HTTP句柄。 Because of this, directories must include trailing slashes.
如果filename 以”ftp://”開始 (大小寫不敏感),一個指定的ftp連接服務器被打開,返回一個被請求文件的指針。如果這個服務器不支持被動ftp模式,將發失錯誤。你可以經過ftp任意的為讀或寫打開文件(但不能兩者不能同時)。
如果filename 是 “php://stdin”, “php://stdout”, 或 “php://stderr”其中之一,則相應的輸入輸出流將被打開地。 (這是在PHP 3.0.13中引入的;在早期版本中,這個文件名象 “/dev/stdin” 或 “/dev/fd/0″這樣去使用來訪問輸入輸出流)。
如果filename 是以別的方式開始的,這個文件將被從文件系統中打開,返回一個打開文件的指針。
如果打開失敗,則返回FALSE。
mode 可以為下面任何一個:
r – 隻讀打開,指針指向文件開始;
r+ – 為讀寫打開,指針指向文件開始;
w – 隻寫打開,指針指向文件開始,文件大小清零。如果文件不存在,則新建;
w+ – 為讀寫打開,指針指向文件開始,文件大小清零。如果文件不存在,則新建;
a – 為追加打開,指針指向文件結尾。如果文件不存在,嘗試新建;
a+ – 為讀寫打開,指針指向文件結尾。如果文件不存在,嘗試新建。
註意: mode 可以包含字母 b。這僅僅在在系統區分二進制和文本文件才有用。 (i.e. Windows. 它在Unix中是無用的)。如果不需要,它將被忽略。
如果你想在include_path中搜索文件,你可以使用可選的第三個參數並把它設置為”1″。
例1. fopen() 例$fp = fopen (“/home/rasmus/file.txt”, “r”);$fp = fopen (“/home/rasmus/file.gif”, “wb”);$fp = fopen (“https://www.php.net/”, “r”);$fp = fopen (“ftp://user:password@example.com/”, “w”);
If you are experiencing problems with reading and writing to files and youre using the server module version of PHP, remember to make sure that the files and directories youre using are accessible to the server process.
On the Windows platform, be careful to escape any backslashes used in the path to the file, or use forward slashes.
$fp = fopen (“c:\data\info.txt”, “r”);
參見 fclose(), fsockopen(), socket_set_timeout(), 和 popen().