<?php
echo file_get_contents('http://www.baidu.com/');
?>我用以上代码测试,读取百度的首页,刷新很多次,偶尔能成功一次,极其不稳定,以前程序都好好的,但是这两天不行了,不知道是不是服务商那边做了什么设置呢?我是独立的主机啊win2003 +php-5.2.6
echo file_get_contents('http://www.baidu.com/');
?>我用以上代码测试,读取百度的首页,刷新很多次,偶尔能成功一次,极其不稳定,以前程序都好好的,但是这两天不行了,不知道是不是服务商那边做了什么设置呢?我是独立的主机啊win2003 +php-5.2.6
简单点的
<?
$url='http://www.163.com';
ob_start(); //打开输出缓冲区
$ch = curl_init(); //初始化会话
curl_setopt( $ch, CURLOPT_URL, $url ); //设定目标URL
curl_exec( $ch ); //发送请求
//$retrievedhtml = ob_get_contents(); //返回内部缓冲区的内容
//ob_end_clean(); //删除内部缓冲区的内容并关闭内部缓冲区
curl_close( $ch ); //会话结束
?>
复杂点的
<?
$url='http://202.201.7.9/CSTJ/Sear.dll?SearchZK';
$param='E=%3C1%2C4%3E%3A%28%28Title_C%3DCAm%29*Years%3D%282002%2B2003%2B2004%2B2005%2B2006%2B2007%29%29&S=1&N=20&P=1&C=0&H=%28%CC%E2%C3%FB%3DCAD%29*Year%3D2002-2007&M=&KM=&GX=&CSID=%7BC8E8BDCF-73D3-45F2-9FE9-89C8B28A02D1%7D'; //指定POST数据
ob_start(); //打开输出缓冲区
$ch = curl_init(); //初始化会话
curl_setopt( $ch, CURLOPT_URL, $url ); //设定目标URL
curl_setopt( $ch, CURLOPT_POST, 1 ); //设定表单发送方式为POST
curl_setopt( $ch, CURLOPT_POSTFIELDS, $param ); //POST数据
curl_exec( $ch ); //发送请求
//$retrievedhtml = ob_get_contents(); //返回内部缓冲区的内容
//ob_end_clean(); //删除内部缓冲区的内容并关闭内部缓冲区
curl_close( $ch ); //会话结束
?>
通过程序模拟访问网页的方法有SOCKET通信方式、FOPEN方式、第三方组件(如:libcurl)等。当网页文件很大或者网页根本不存在的时候,使用FOPEN的方法经常会出现超时。在实际工程应用中,必须考虑系统的性能及可移植性。Web信息获取工具是系统性能好坏的一个最重要的技术环节,不论是采用PHP中的SOCKET通信方式还是FOPEN方式都不能胜任如此频繁的文件获取时间要求。系统采用性能优异的CURL访问组件,该组件远程访问速度比传统方式速度快了近200倍,采用FOPEN方式对于100个HTTP文件请求每分钟只能打开10个,而采用CURL组件方式对于2000个HTTP文件请求每分钟可以打开2000个[4]。该组件支持FTP,FTPS,TFTP,HTTP,HTTPS,TELNET,DICT,FILE和LDAP协议的访问,极大地提高了Web会话的速度和协议范围。此外,该组件支持多种开发语言工具的驱动,主要包括C、C++、PHP、PERL、JAVA、.NET等,支持广泛的操作系统,包括Solaris、NetBSD、FreeBSD、OpenBSD、HPUX、IRIX、AIX、Tru64、Linux、UnixWare、Windows等,具有广泛的可移植性,为程序开发打造了良好的接口。
参考http://blog.csai.cn/group.asp?cmd=show&gid=83&pid=2697
或者在你的php代码第一行 加上 set_time_limit(0);
试过没有 ??