abstract:訪問遠程文件 使用PHP不僅可以讓用戶通過瀏覽器訪問服務(wù)器端的文件,還可以通過HTTP或FTP等協(xié)議訪問其他服務(wù)器中的文件,可以在大多數(shù)需要用文件名作為參數(shù)的函數(shù)中使用HTTP和FTP URL來代替文件名。使用fopen()函數(shù)將制定的文件名與資源綁定到一個流上,如果文件名是"scheme://..."的格式,則被當成一個URL,PHP將搜索協(xié)議器(也被稱為封裝協(xié)
訪問遠程文件 使用PHP不僅可以讓用戶通過瀏覽器訪問服務(wù)器端的文件,還可以通過HTTP或FTP等協(xié)議訪問其他服務(wù)器中的文件,可以在大多數(shù)需要用文件名作為參數(shù)的函數(shù)中使用HTTP和FTP URL來代替文件名。使用fopen()函數(shù)將制定的文件名與資源綁定到一個流上,如果文件名是"scheme://..."的格式,則被當成一個URL,PHP將搜索協(xié)議器(也被稱為封裝協(xié)議)來處理此模式。 如果需要訪問遠程文件,必須在PHP的配置文件中激活“allow_url_fopen”選項,才能使用fopen()函數(shù)打開遠程文件。而且還要確定其他服務(wù)器中的文件是否有訪問權(quán)限,如果使用HTTP協(xié)議對遠程文件進行連接,只能以“只讀”模式打開。如果需要訪問的遠程FTP服務(wù)器中,對所提供的用戶開啟了“可寫”權(quán)限,則使用FTP協(xié)議連接遠程的文件時,就可以使用“只寫”或“只讀”模式打開文件。但不可以使用“可讀可寫”的模式。 使用PHP訪問遠程文件就像訪問本地文件一樣,都是使用相同的讀寫函數(shù)處理。代碼示例如下: $file = fopen("http://www.baidu.com/","r") or die("打開遠程文件失敗!"); while(!feof($file)) { $line = fgets($file,1024); //每讀取一行 if(preg_match("/<title>(.*)</title>/",$line,$out)) //如果找到遠程文件中的標題標記則取出標題,并退出循環(huán),不在讀取文件 { $title = $out[1]; break; } } fclose($file); //關(guān)閉文件資源 echo $title; //輸出獲取到的遠程網(wǎng)頁的標題
Correcting teacher:天蓬老師Correction time:2019-05-27 13:15:24
Teacher's summary:訪問遠程文件, 不妨試試這個cURL