php抓取网页内容(php打开URL获得网页内容,比较常用的函数是fopen()和file_get_contents)
优采云 发布时间: 2022-03-11 04:17php抓取网页内容(php打开URL获得网页内容,比较常用的函数是fopen()和file_get_contents)
在PHP中,要打开网页URL来获取网页内容,比较常用的函数有fopen()和file_get_contents()。如果要求不苛刻,大部分情况下这两个功能可以根据个人喜好任意选择。本文讨论了这两个函数在使用上的区别以及使用时需要注意的问题。
fopen() 打开 URL
以下是使用 fopen() 打开 URL 的示例:
从这个例子可以看出,fopen()打开网页后,返回的$fh不是字符串,不能直接输出。您还需要使用 fgets() 函数来获取字符串。fgets() 函数从文件指针中读取一行。文件指针必须有效并且必须指向由 fopen() 或 fsockopen() 成功打开的文件(并且尚未被 fclose() 关闭)。
可以看出fopen()返回的只是一个资源。如果打开失败,此函数返回 false。
file_get_contents() 打开网址
以下是使用 file_get_contents() 打开 URL 的示例:
从这个例子可以看出, File_Get_Contents() 打开网页后,返回的 $fh 是一个可以直接输出的字符串。
从上面两个例子的对比可以看出,使用file_get_contents()打开网址可能是更多人的选择,因为它比fopen()更简单方便。
但是,如果你正在阅读比较大的资源,使用 fopen() 更合适。
知识扩充
file_get_contents() 模拟referer、cookie、使用代理等。
参考代码
ini_set('default_socket_timeout',120);
INI_SET ('user_agent', 'msie 6. 0;');
$context=array('http' => array ('header'=> 'Referer: ', ),);
$xcontext = stream_context_create($context);
echo $str=file_get_contents('',FALSE,$xcontext);
简介:ini_set()的例子和用法