- 论坛徽章:
- 0
|
常用的函数,参考一下吧
-
- function get_content($url)
- {
- for($m=0;$m<8 & empty($content);$m++)//防止网络故障,一次读取不到,采取多次读取页面的方法
- {
- if(!strpos($url, '://')) return 'Invalid URI';
- $content = '';
- if(ini_get('allow_url_fopen'))
- {
- $content = file_get_contents($url);
- }
- elseif(function_exists('curl_init'))
- {
- $handle = curl_init();
- curl_setopt($handle, CURLOPT_URL, $url);
- curl_setopt($handle, CURLOPT_CONNECTTIMEOUT, 5);
- curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($handle, CURLOPT_FOLLOWLOCATION, 0);
- $content = curl_exec($handle);
- curl_close($handle);
- }
- elseif(function_exists('fsockopen'))
- {
- $urlinfo = parse_url($url);
- $host = $urlinfo['host'];
- $str = explode($host, $url);
- $uri = $str[1];
- unset($urlinfo, $str);
- $content = '';
- $fp = fsockopen($host, 80, $errno, $errstr, 30);
- if(!$fp)
- {
- $content = 'Can Not Open Socket...';
- }
- else
- {
- $out = "GET $uri HTTP/1.1\r\n";
- $out.= "Host: $host \r\n";
- $out.= "Accept: */*\r\n";
- $out.= "User-Agent: $_SERVER[HTTP_USER_AGENT]\r\n";
- $out.= "Connection: Close\r\n\r\n";
- fputs($fp, $out);
- while (!feof($fp))
- {
- $content .= fgets($fp, 4069);
- }
- fclose($fp);
- }
- }
- }
- if(empty($content)) $content = 'Can Not Open Url, Please Check You Server ... <br/>For More Information, Please Visit www.3wsite.cn';
- return $content;
- }
复制代码 |
|