首頁 > php教程 > PHP开发 > 主體

PHP中透過fopen()函數存取遠端檔案範例

高洛峰
發布: 2016-12-21 15:50:57
原創
1848 人瀏覽過

使用PHP不僅可以讓使用者透過瀏覽器存取伺服器端的文件,還可以透過HTTP或FTP等協定存取其他伺服器中的文件,可以在大多數需要用文件名稱作為參數的函數中使用HTTP和FTP URL來代替文件名。使用fopen()函數將指定的檔案名稱與資源綁定到一個流上,如果檔案名稱是「scheme://…」的格式,則被當成一個URL,PHP將搜尋協定處理器(也被成為封裝協議)來處理此模式。

如果需要遠端存取文件,必須在PHP的設定檔中啟動「allow_url_fopen」選項,才能使用fopen()函數開啟遠端檔案。而且也要確定其他伺服器中的檔案是否有存取權限,如果使用HTTP協定對遠端檔案進行連接,只能以「唯讀」模式開啟。如果需要存取的遠端FTP伺服器中,對所提供的使用者開啟了「可寫入權限,則使用FTP協定連接遠端檔案時,就可以使用「只寫」或「唯讀」模式開啟檔案。但不可以使用「可讀可寫」模式。的輸出數據,然後就將這些數據用在資料庫的檢索中,或者簡單地將其輸出到網站剩下內容的樣式匹配中。使用者的身分和某FTP伺服器建立連接,這樣就可以向該FTP伺服器端的文件進行寫入操作了。覆寫已經存在的文件,fopen()函數的呼叫將會失敗。 ftp.lampbrother.net/path/to/file」。程式碼如下所示:

<?php
//通过http打开远程文件
$file = fopen(//m.sbmmt.com, "r") or die("打开远程文件失败!!");
while (!feof($file)){
    $line = fgets($file,1024);     //每读取一行
//如果找到远程文件中的标题标记则取出标题,并退出循环,不在读取文件
    if (preg_match("/<titile>(.*/)<\/title>",$line,$out)){     //使用正则匹配标题标记
        $title = $out[1];     //将标题标记中的标题字符取出
        break;     //退出循环,结束远程文件读取
    }
}
 
fclose($file);
echo $title;
?>
登入後複製

為了避免由於存取遠端主機時發生的逾時錯誤,可以使用set_time_limit()函數對程式的運行時間加以限制。

更多PHP中透過fopen()函數存取遠端檔案範例相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!