CURL比较昂贵吗?文件\u get\u contents()?

CURL比较昂贵吗?文件\u get\u contents()?,curl,Curl,我正在运行一个视频链接聚合器,我有一个脚本来检查视频是否从网站上删除。它是通过获取链接的HTML输出并检查目标关键字来完成的 目前我使用file_get_contents()获取链接的html代码。问题是,如果链接被删除,一些站点会重定向到另一个URL 使用curl解决了这个问题。。。但是它会使用更多的服务器资源吗?我每10分钟运行一次checker脚本,它检查1000个链接(数据库中有300000个链接) 我想使用的代码如下: $Curl_Session = curl_init('http:/

我正在运行一个视频链接聚合器,我有一个脚本来检查视频是否从网站上删除。它是通过获取链接的HTML输出并检查目标关键字来完成的

目前我使用file_get_contents()获取链接的html代码。问题是,如果链接被删除,一些站点会重定向到另一个URL

使用curl解决了这个问题。。。但是它会使用更多的服务器资源吗?我每10分钟运行一次checker脚本,它检查1000个链接(数据库中有300000个链接)

我想使用的代码如下:

$Curl_Session = curl_init('http://www.domain.com');
curl_setopt ($Curl_Session, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($Curl_Session, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec ($Curl_Session);
curl_close ($Curl_Session);

看看这个

如果有什么,它会更快。如果您的php已经使用curl编译,那么无论是否调用curl,您都将使用相同的内存量

然而,我会关注这些链接。你可以通过这种方式进入一个循环,或者跳很多次,从而减慢你的脚本速度。所以我会添加一个max CURLOPT_MAXREDIRS

另外,您是否正在下载这些视频以查看它们是否存在?我只需要获取远程文件大小:

curl_setopt($Curl_Session, CURLOPT_HEADER, false);
curl_setopt($Curl_Session, CURLOPT_NOBODY, true);
大小

$info = curl_getinfo();
echo $info[‘download_content_length’]

CURL库不能比网络慢,所以不用担心。更快的internet连接和分发此检查的某种方式将比任何图书馆都有更大的帮助,无论它有多慢。

另一种获取大小的方法是:$size=array\u change\u key\u case(get\u headers($url,1));if(is_数组($size['content-length'))$size=$size['content-length'][count($size['content-length'])-1];else$size=$size['content-length'];回声$大小;死链接,问题被删除