比file_get_contents稳定的curl_get_contents分享
2015-01-24信息快讯网
相信使用过file_get_contents函数的朋友都知道,当获取的$url访问不了时,会导致页面漫长的等待,甚至还能导致PHP进程占用CPU达100%,因此这个函数就诞生了
分享一个实际在用的函数:/*比file_get_contents稳定的多!$timeout为超时时间,单位是秒,默认为1s。*/ function curl_get_contents($url,$timeout=1) { $curlHandle = curl_init(); curl_setopt( $curlHandle , CURLOPT_URL, $url ); curl_setopt( $curlHandle , CURLOPT_RETURNTRANSFER, 1 ); curl_setopt( $curlHandle , CURLOPT_TIMEOUT, $timeout ); $result = curl_exec( $curlHandle ); curl_close( $curlHandle ); return $result; } $hx = curl_get_contents('http://www.jb51.net');
相信使用过file_get_contents函数的朋友都知道,当获取的$url访问不了时,会导致页面漫长的等待,甚至还能导致PHP进程占用CPU达100%,因此这个函数就诞生了。curl的一些常识介绍
保留原file_get_contents函数的原因是当读取本地文件时,用原生的file_get_contents显然更合适。
另来自张宴的file_get_contnets的优化,具体可看:http://www.jb51.net/article/28030.htm
同样是设置超时时间来解决这个问题。如果没装curl,就必须得用这个方式了。
$ctx = stream_context_create(array( 'http' => array( 'timeout' => 1 //设置一个超时时间,单位为秒 ) ) ); file_get_contents("http://www.jb51.net/", 0, $ctx);
另外,据不完全测试,使用curl获取页面比用file_get_contents稳定的多。
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
探讨file_get_contents与curl效率及稳定性的分析
CURL的学习和应用(附多线程实现)
基于PHP CURL获取邮箱地址的详解
深入php函数file_get_contents超时处理的方法详解
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
基于Discuz security.inc.php代码的深入分析
ubuntu10.04配置 nginx+php-fpm模式的详解
php curl的深入解析
解析php DOMElement 操作xml 文档的实现代码
基于curl数据采集之正则处理函数get_matches的使用
Uncaught exception com_exception with message Failed to create COM object
学习使用curl采集curl使用方法
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
php curl常见错误:SSL错误、bool(false)
url decode problem 解决方法
如何使用Linux的Crontab定时执行PHP脚本的方法
php urlencode()与urldecode()函数字符编码原理详解
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
php空间不支持socket但支持curl时recaptcha的用法
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
Array of country list in PHP with Zend Framework
php下利用curl判断远程文件是否存在的实现代码
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析