欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php中file_get_content 和curl以及fopen 效率分析

程序员文章站 2022-06-08 08:08:50
三个函数虽然都是读取资源的函数,但各自的应用场景不同。 curl多用于互联网网页之间的抓取,fopen多用于读取文件,而file_get_contents多用于获取静态页...

三个函数虽然都是读取资源的函数,但各自的应用场景不同。

curl多用于互联网网页之间的抓取,fopen多用于读取文件,而file_get_contents多用于获取静态页面的内容。

1. fopen /file_get_contents 每次请求都会重新做dns查询,并不对dns信息进行缓存。但是curl会自动对dns信息进行缓存。对同一域名下的网页或者图片的请求只需要一次dns查询。这大大减少了dns查询的次数。所以curl的性能比fopen /file_get_contents 好很多。

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

3. curl可以模拟多种请求,例如:post数据,表单提交等,用户可以按照自己的需求来定制请求。而fopen / file_get_contents只能使用get方式获取数据。