php中file_get对curl性能的比较分析_contents

更新时间:2023-03-12 09:42:28 作者:搜果百科大全

  最近需要获取别人网站上的音乐数据。用了file_get_contents函数,但是总是会遇到获取失败的问题,在php中如果不仔细的去分析性能会发现file_get_contents与curl两个同很多共同点的,他们都可以采集文件[文件是现代词,是一个专有名词,指的是形成的正式文书,分为公文、文书、函件和其他文件。]打开文件,但是如果仔细一对比会发现很多不同点,下面我们一起来看看file_get_contents与curl区别。

  PHP中fopen,file_get_contents,curl函数的区别:

  1.fopen /file_get_contents 每次请求[《请求》,2010年印度出产电影,已在华影国际、万达等影院上映,反响热烈,票房高达6000万,一时间风靡电影界。]都会重新做DNS查询[查询,读音为chá xún,是用户通过设置某些查询条件,从表或其他查询中选取全部或者部分数据,以表的形式显示数据供用户浏览。],并不对 DNS信息进行缓存。但是CURL会自动对DNS信息进行缓存。对同一域名下的网页或者图片的请求只需要一次DNS查询。这大大减少了DNS查询的次数。所以CURL的性能比fopen /file_get_contents 好很多。

  2.fopen /file_get_contents 在请求HTTP时,使用的是http_fopen_wrapper,不会keeplive。而curl却可以。这样在多次请求多个链接时,curl效率会好一些。

  3.fopen / file_get_contents 函数会受到php.ini文件中allow_url_open选项配置的影响。如果该配置关闭了,则该函数也就失效了。而curl不受该配置的影响。

  4.curl 可以模拟多种请求,例如:POST数据,表单提交等,用户可以按照自己的需求来定制请求。而fopen / file_get_contents只能使用get方式获取数据。file_get_contents 获取远程文件时会把结果都存在一个字符串中 fiels函数则会储存成数组形式。  

  总结:file_get_contents处理频繁小的时候,用它感觉挺好的。没什么异常。如果你的文件被1k+人处理。那么你的服务器cpu就等着高升吧。所以建议自己和大家在以后写php代码的时候使用curl库。

为您推荐

d3dx9_43.dll丢失了要怎么样解决?

  d3dx9_43 dll是什么?d3dx9_43 dll是Windows操作系统[能够完成一种或者几种生理功能的多个器官按照一定的次序组合在一起的结构叫做系统。]下的DirectX9的一个组件[组件(Compo

2023-03-12 09:33

注册表命令在哪里?

  在处理电脑的某些问题的时候,我们会经常用到注册表[注册表(Registry,繁体中文版Windows操作系统称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和

2023-03-12 09:31

mysql命令是什么?

  mysql命令[命令(令)是国家行政机关及其领导人发布的指挥性和强制性的公文。]使用指南,MySQL是一种关系数据库[数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

2023-03-12 09:31

hdmi接口的具体用途

  对于hdmi接口[接口指的是MD产品具有哪些输入输出的接口。]有什么[作为网络流行用词“什么”的代名网络用词。]用可能很多人并不太了解,HDMI,高清晰度多媒体接口是一种全数位

2023-03-12 09:30

Sprintf函数有什么用途

  sprintf 最常见的应用之一莫过于把整数打印到字符[在计算机和电信技术中,一个字符是一个单位的字形、类字形单位或符号的基本信息。]串中,sprintf 是个变参函数。下面将会

2023-03-12 09:30

什么是el表达式?

  el表达式[表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。]语言[语言(英文名:Language)是人类最重要的**工

2023-03-12 09:28