fopen他以采集遠程服務器的內容保存到本地同時也可以打開本地的文件,是一個非常不錯的函數,下面我們來看看關於在使用fopen函數時出現failed to open stream: HTTP request failed問題解決方法。
<?php教程
$handle = fopen ("http://www.zhutiai.com/c5-03/", "rb");
$contents = "";
while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);
echo $contents; //輸出獲取到得內容。
?>
// 對 PHP 5 及更高版本可以使用下面的代碼
<?php
$handle = fopen("http://mb.bKjia.c0m", "rb");
$contents = stream_get_contents($handle);
fclose($handle);
echo $contents;
?>
有人說在php.ini中,有這樣兩個選項:allow_url_fopen =on(表示可以通過url打開遠程文件),user_agent="PHP"(表示通過哪種腳本訪問網絡,默認前面有個 " ; " 去掉即可。)重啟服務器。
但是有些還是會有這個警告信息,想用完美的解決還差一步,還得設置php.ini裡面的user_agent,php默認的user_agent是PHP,我們把它改成Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)來模擬浏覽器就可以了
使用PHP的CURL模塊取回PHP主頁,並保存到文件中
<?php
$ch = curl_init("http://www.bKjia.c0m/");
$fp = fopen("php_homepage.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
curl相關函數列表:
curl_init — 初始化一個CURL會話
curl_setopt — 為CURL調用設置一個選項
curl_exec — 執行一個CURL會話
curl_close — 關閉一個CURL會話
curl_version — 返回當前CURL版本
1>curl_init — 初始化一個CURL會話
描述
int curl_init ([string url])
curl_init()函數將初始化一個新的會話,返回一個CURL句柄供 curl_setopt(), curl_exec(),和 curl_close() 函數使用。如果可選參數被提供,那麼CURLOPT_URL選項將被設置成這個參數的值。你可以使用curl_setopt()函數人工設置。
例 1. 初始化一個新的CURL會話,且取回一個網頁
<?php
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, “http://www.zhutiai.com/”);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_exec ($ch);
curl_close ($ch);
?>