php curl_init curl 消息头和消息体
本文介绍了php curl_init curl 消息头和消息体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
给定一个 远程图片地址(http地址) 然后用curl 请求 通过检查返回的 消息头 判断远程图片是否存在
但是这里有个严重的效率问题就是消息体
消息体把图片也给返回了 有设置可以 只产生消息体 让消息体为空或者或不产生消息体吗
//检查远程文件
function checkRemoteFile($file_name, $path) {
$path = $path . "/" . $file_name;
$ch = curl_init();
$timeout = 30; //在尝试连接时等待的秒数。设置为0,则无限等待。
curl_setopt($ch, CURLOPT_URL, $path);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$contents = curl_exec($ch);
//echo $contents;
if (preg_match("/404/", $contents)) {
echo '0';
return false;
} elseif(preg_match("/200/", $contents)) {
echo $contents;
return true;
}
}
解决方案
不用curl不就行了,fopen好像也可以打开远程文件吧。
$hd = fopen($remoteUrl, 'r');
if ($hd === false) die('404')
else fclose($hd);
哦,看到你的评论了,用 curl_setopt($ch, CURLOPT_NOBODY, true); 看看
这篇关于php curl_init curl 消息头和消息体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文