fopen訪問遠端檔案

2021-08-02 14:41:27 字數 1197 閱讀 3019

使用php不僅可以讓使用者通過瀏覽器訪問伺服器端的檔案,還可以通過http或ftp等協議訪問其他伺服器中的檔案,可以在大多數需要用檔名作為引數的函式中使用http和ftp url來代替檔名。使用fopen()函式將指定的檔名與資源繫結到乙個流上,如果檔名是「scheme://…」的格式,則被當成乙個url,php將搜尋協議處理器(也被成為封裝協議)來處理此模式。

如果需要遠端訪問檔案,必須在php的配置檔案中啟用「allow_url_fopen」選項,才能使用fopen()函式開啟遠端檔案。而且還要確定其他伺服器中的檔案是否有訪問許可權,如果使用http協議對遠端檔案進行連線,只能以「唯讀」模式開啟。如果需要訪問的遠端ftp伺服器中,對所提供的使用者開啟了「可寫許可權,則使用ftp協議連線遠端檔案時,就可以使用「只寫」或「唯讀」模式開啟檔案。但不可以使用「可讀可寫」模式。

使用php訪問遠端檔案就像訪問本地檔案一樣,都是使用相同的讀寫函式處理。例如,可以用以下範例來開啟遠端web伺服器上的檔案,解析我們需要的輸出資料,然後就將這些資料用在資料庫的檢索中,或者簡單地將其輸出到**剩下內容的樣式匹配中。**如下所示:

複製**

**如下:

<?php

//通過http開啟遠端檔案

$file = fopen( "r") or die("開啟遠端檔案失敗!!");

while (!feof($file)) }

fclose($file);

echo $title;

?>

如果有合法的訪問許可權,可以以乙個使用者的身份和某ftp伺服器建立連線,這樣就可以向該ftp伺服器端的檔案進行寫操作了。可以用該技術來儲存遠端日誌檔案等操作,但僅能用該方法來建立新的檔案,如果嘗試覆蓋已經存在的檔案,fopen()函式的呼叫將會失敗。而且要以匿名(anonymous)以外的使用者名稱連線伺服器,並需要指明使用者名稱(甚至密碼),例如「**如下所示:

複製**

**如下:

<?php

//在ftp.lampbrother.net的遠端伺服器上建立檔案,以寫的模式開啟

file = fopen("", "w");

//將乙個字串寫入到遠端檔案中去

fwrite($file, "linux+apache+mysql+php");

fclose($file);

?>

為了避免由於訪問遠端主機時發生的超時錯誤,可以使用set_time_limit()函式對程式的執行時間加以限制。

PHP遠端訪問檔案

一 訪問遠端檔案 filename 要讀取的遠端檔案 fp fopen filename,rb 開啟檔案 echo fread fp,1000 使用fread 函式讀取檔案內容的前1000個位元組 echo 通過readfile讀取整個檔案的內容 readfile r 二 執行結果 大小 29.7 ...

檔案操作 fopen

r 開啟唯讀檔案,該檔案必須存在。r 開啟可讀寫的檔案,該檔案必須存在。rb 讀寫開啟乙個二進位制檔案,只允許讀寫資料。rt 讀寫開啟乙個文字檔案,允許讀和寫。w 開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。w 開啟可讀寫檔案,若檔案存在則檔案長度清為零,...

mysql 開啟遠端訪問 遠端訪問

select host,user,password from user 查詢使用者遠端訪問相關資訊 用root使用者登陸,然後 grant all privileges on to 建立的使用者名稱 identified by 密碼 flush privileges 重新整理剛才的內容 格式 gra...