深入file_get_contents与curl函数的详解_php技巧

有些主机服务商把php的allow_url_fopen选项是关闭了,就是没法直接使用file_get_contents来获取远程web页面的内容。那就是可以使用另外一个函数curl。
下面是file_get_contents和curl两个函数同样功能的不同写法
file_get_contents函数的使用示例:

复制代码 代码如下:

< ?php
$file_contents = file_get_contents('http://www.jb51.net');
echo $file_contents;
?>

换成curl函数的使用示例:

复制代码 代码如下:

< ?php
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, 'http://www.jb51.net');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
?>

利用function_exists函数来判断php是否支持一个函数可以轻松写出下面函数

复制代码 代码如下:

< ?php
function vita_get_url_content($url) {
if(function_exists('file_get_contents')) {
$file_contents = file_get_contents($url);
} else {
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
}
return $file_contents;
}
?>

其实上面的这个函数还有待商榷,如果你的主机服务商把file_get_contents和curl都关闭了,上面的函数就会出现错误。

时间: 2024-11-02 14:54:13

深入file_get_contents与curl函数的详解_php技巧的相关文章

WordPress中创建用户角色的相关PHP函数使用详解_php技巧

WordPress 默认有 "订阅者"."投稿者"."作者"."编辑" 和 "管理员" 五个用户角色,权限由低到高,但默认的五个角色可能不够我们用,这时可以使用 add_role() 函数创建一个角色. 用法 add_role( $role, $display_name, $capabilities ); 参数 $role (字符串)(必须)用户角色 ID 默认值:None $display_name (字

PHP PDO函数库详解_php技巧

目前而言,实现"数据库抽象层"任重而道远,使用PDO这样的"数据库访问抽象层"是一个不错的选择. PDO中包含三个预定义的类 PDO中包含三个预定义的类,它们分别是 PDO.PDOStatement 和 PDOException. 一.PDO PDO->beginTransaction() - 标明回滚起始点PDO->commit() - 标明回滚结束点,并执行SQLPDO->__construct() - 建立一个PDO链接数据库的实例PDO-&

深入PHP curl参数的详解_php技巧

curl_setopt (PHP 4 >= 4.0.2) curl_setopt -- 为CURL调用设置一个选项 描述 bool curl_setopt (int ch, string option, mixed value) curl_setopt()函数将为一个CURL会话设置选项.option参数是你想要的设置,value是这个选项给定的值. 下列选项的值将被作为长整形使用(在option参数中指定): CURLOPT_INFILESIZE: 当你上传一个文件到远程站点,这个选项告诉PH

执行、获取远程代码返回:file_get_contents 超时处理的问题详解_php技巧

天气终于晴了,但问题来了.在实现两个站点间用户数据同步,当使用php函数 file_get_contents抓取执行远程页面时,如果连接超时将会输出一个Fatal Error或相当的慢,结果导致下面的代码不能运行.先了解一下PHP file_get_contents() 函数 定义和用法 file_get_contents() 函数把整个文件读入一个字符串中. 和 file() 一样,不同的是 file_get_contents() 把文件读入一个字符串. file_get_contents()

一些php项目中比较通用的php自建函数的详解_php技巧

以下一些php函数是我们it动力最常用的项目开发函数,这些函数还算是在比较多的项目中使用到的,也是比较通用的.1.请求接口的处理函数 复制代码 代码如下: /**  * curl访问程序接口  * @param string  * @return array  */  function getCurlDate($url, $datas, $key) {      $datas['time'] = $_SERVER['REQUEST_TIME'] + 300;      $post_data['p

javascript some()函数用法详解_php技巧

参数说明 callback: 要对每个数组元素执行的回调函数. thisObject : 在执行回调函数时定义的this对象. 功能说明 对数组中的每个元素都执行一次指定的函数(callback),直到此函数返回 true,如果发现这个元素,some 将返回 true,如果回调函数对每个元素执行后都返回 false ,some 将返回 false.它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略. 回调函数可以有三个参数:当前元素,当前元素的索引和当前的数组对象. 如参数

PHP之sprintf函数用法详解_php技巧

本文实例讲述了PHP中sprintf函数的用法.分享给大家供大家参考.具体用法分析如下: sprintf()函数在php官方是说把字符串格式化输出了,本文就来给各位朋友介绍一下在学习sprintf()函数时的一些经验分享,希望能给大家带来帮助. PHP函数 sprintf() 函数官方定义为:sprintf():把格式化的字符串写入一个变量中 语法为:sprintf(format,arg1,arg2,arg++); 参数: format:必须,转换格式 arg1 :必须,规定插入 format

探讨php define()函数及defined()函数使用详解_php技巧

The define() function defines a constant.define()函数的作用是:定义一个常量. Constants are much like variables, except for the following differences: 常量[constant]与变量[variable]有很多相似的地方,因此,很容易混淆:下面,我们列举一下常量[constant]与变量[variable]之间的不同点:    A constant's value cannot

php中Ctype函数用法详解_php技巧

本文实例分析了php中Ctype函数用法.分享给大家供大家参考.具体分析如下: Ctype函数是Php的Ctype扩展函数提供了一组函数用于校验字符串中的字符是否是正确的格式,这里我们主要介绍一下这些字符串验证函数的语法.有什么特殊的函数,如何去验证等. Ctype函数是PHP内置的字符串体测函数,主要有以下几种: ctype_alnum -- Check for alphanumeric character(s):检测是否是只包含[A-Za-z0-9] ctype_alpha -- Check