php中curl和file_get_content的区别_php技巧

直到最近,要做一个网页小偷程序的时候才发现file_get_content已经完全不能满足需求了。我觉得,在读取远程内容的时候,file_get_content除了使用比curl便捷以外,其他都没有curl好。

主要区别:

学习才发现,curl支持很多协议,有FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE以及LDAP,也就是说,它能做到很多file_get_content做不到的事情。curl在php可以实现远程获取和采集内容;实现PHP网页版的FTP上传下载;实现模拟登陆;实现接口对接(API),数据传输;实现模拟Cookie;下载文件断点续传等等,功能十分强大。

了解curl一些基本的使用后,才发现其实并不难,只不过记住里面一些设置参数,难弄一点,但是我们记住几个常用的就可以了。

开启curl:

因为PHP默认是不支持curl功能的,因此如果要用curl的话,首先需要在php.ini中开启该功能,即去掉 ;extension= php_curl.dll 前面的分号,然后保存后重启apache/iis就好了。

基本语法:

复制代码 代码如下:

$my_curl = curl_init();    //初始化一个curl对象
curl_setopt($my_curl, CURLOPT_URL, "http://www.jb51.net");    //设置你需要抓取的URL
curl_setopt($my_curl,CURLOPT_RETURNTRANSFER,1);    //设置是将结果保存到字符串中还是输出到屏幕上,1表示将结果保存到字符串
$str = curl_exec($curl);    //执行请求
echo $str;    //输出抓取的结果
curl_close($curl);    //关闭url请求

 

时间: 2024-10-05 20:04:43

php中curl和file_get_content的区别_php技巧的相关文章

CI框架中site_url()和base_url()的区别_php技巧

在使用CI框架的使用经常碰到跳转和路径方面的问题,site_url()和base_url()很容易混淆,下面来说说他们的区别! 假如你config文件里面的base_url和index_page是这样定义的: config['base_url'] = "http://domain.com/"; config['index_page'] = "index.php"; 那么你若使用site_url("news/php/2");则实际url为 http

PHP中echo和print的区别_php技巧

一般来说,PHP中动态输出HTML内容,是通过print 和 echo 语句来实现的,在实际使用中, print 和 echo 两者的功能几乎是完全一样.可以这么说,凡是有一个可以使用的地方,另一个也可以使用.但是,两者之间也还是一个非常重要的区别:在 echo 函数中,可以同时输出多个字符串,而在 print 函数中则只可以同时输出一个字符串.同时,echo函数并不需要圆括号,所以echo函数更像是语句而不像是函数. echo 和 print 都不是函数,而是语言结构,所以圆括号都不是必需的.

分享下php5类中三种数据类型的区别_php技巧

public: 公有类型 在子类中可以通过self::var 来调用 public类型的方法或属性 可以通过parent::method 来调用父类中的方法 在实例中可以能过$obj->var 来调用 public类型的方法或属性 protected: 受保护类型在子类中可以通过self::var 来调用 protected类型的方法或属性 可以通过parent::method 来调用父类中的方法 在实例中不能通过$obj->var 来调用 protected类型的方法或属性 private:

简单谈谈php中ob_flush和flush的区别_php技巧

ob_flush/flush在手册中的描述, 都是刷新输出缓冲区, 并且还需要配套使用, 所以会导致很多人迷惑- 其实, 他们俩的操作对象不同, 有些情况下, flush根本不做什么事情.. ob_*系列函数, 是操作PHP本身的输出缓冲区. 所以, ob_flush是刷新PHP自身的缓冲区. 而flush, 严格来讲, 这个只有在PHP做为apache的Module(handler或者filter)安装的时候, 才有实际作用. 它是刷新WebServer(可以认为特指apache)的缓冲区.

解析php中die(),exit(),return的区别_php技巧

die()停止程序运行,输出内容exit是停止程序运行,不输出内容return是返回值die是遇到错误才停止exit是直接停止,并且不运行后续代码,exit()可以显示内容.return就是纯粹的返回值了,但是也不会运行后续代码exit(0):正常运行程序并退出程序:exit(1):非正常运行导致退出程序:return():返回函数,若在主函数中,则会退出函数并返回一值.详细说:  1. return返回函数值,是关键字:  exit 是一个函数.  2. return是语言级别的,它表示了调用

深入分析php中接口与抽象类的区别_php技巧

接口和抽象类真的很难区分开,引文他们很相似,方法都没有定义逻辑,都是供子类是想或继承的.区分二者只要记住一句话:接口是规范,类是实现.接口的目的是定义一个规范,大家都遵守这个规范. 也就是说,从目的上可以很清楚地区分接口和抽象类.那么还是有疑问,既然有了借口,那么为什么还必须有抽象类呢? 加入我们要定义一个名为Animal的类,该类有两个子集Dog和Cattle,二者都有两个方法:run()方法和speak()方法. 假定Dog和Cattle的"跑(run)"是相同的,因此run()方

php中++i 与 i++ 的区别_php技巧

1.++i 的用法(以 a=++i ,i=2 为例) 先将 i 值加 1 (也就是 i=i+1 ),然后赋给变量 a (也就是 a=i ), 则最终 a 值等于 3 , i 值等于 3 . 所以 a=++i 相当于 i=i+1 ,a=i 2.i++ 的用法(以 a=i++ ,i=2 为例) 先将 i 值赋给变量 a (也就是 a=i ),然后 i 值加 1 (也就是 i=i+1 ), 则最终 a 值等于 2 ,i 值等于 3 . 所以 a=i++ 相当于 a=i , i=i+1 3.++i 与

浅谈php中curl、fsockopen的应用_php实例

最近要用到通过post上传文件,网上盛传的有curl的post提交和fsockopen,其中curl最简单,于是从最简单的说起. 这是简单的将一个变量post到另外一个页面 $url = ''; $data = array('a'=> 'b'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_

PHP编程过程中需要了解的this,self,parent的区别_php技巧

{一}PHP中this,self,parent的区别之一this篇 面向对象编程(OOP,Object Oriented Programming)现已经成为编程人员的一项基本技能.利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意义的. PHP5经过重写后,对OOP的支持额有了很大的飞跃,成为了具备了大部分面向对象语言的特性的语言,比PHP4有了很多的面向对象的特性.这里我主要谈的是 this,self,parent 三个关键字之间的区别.从字面上来理解,