failed to open stream: HTTP request failed
fopen以采集远程服务器的内容保存到本地同时也可以打开本地的文件,是一个非常不错的函数,下面我们来看看关于在使用fopen函数时出现failed to open stream: HTTP request failed问题解决方法。
$handle = fopen ( "http://HdhCmsTestphpfensi测试数据/c5-03/" , "rb" ); $contents = "" ; while (! feof ( $handle )) { $contents .= fread ( $handle , 8192); } fclose( $handle ); echo $contents ; //输出获取到得内容。 ?>对 PHP 5 及更高版本可以使用下面的代码
$handle = fopen ( "http://phpfensi测试数据" , "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主页,并保存到文件中
$ch = curl_init( "http://HdhCmsTestphpfensi测试数据/" ); $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版本
描述: curl_init()函数将初始化一个新的会话,返回一个CURL句柄供 curl_setopt(), curl_exec(),和 curl_close() 函数使用。如果可选参数被提供,那么CURLOPT_URL选项将被设置成这个参数的值。你可以使用curl_setopt()函数人工设置。
例1.初始化一个新的CURL会话,且取回一个网页:
$ch = curl_init(); curl_setopt ( $ch , CURLOPT_URL, [http: //HdhCmsTestphpfensi测试数据/]); curl_setopt ( $ch , CURLOPT_HEADER, 0); curl_exec ( $ch ); curl_close ( $ch ); ?>查看更多关于failed to open stream: HTTP request failed - php函数的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30759