给定一个 远程图片地址(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;
}
} 给定一个 远程图片地址(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); 看看
MayiCMS·蚂蚁分类信息系统是一款基于PHP+MYSQL(PC+手机+小程序+APP,跨平台、跨终端)的建站软件,拥有专业且完善的信息审核机制,信息刷新/置顶消费机制,信息分享/发布奖励机制,信息查看/付费授权机制,会员等级自助续费机制,为在各种类型操作系统服务器上架设信息发布平台提供完美的解决方案,拥有世界一流的用户体验,卓越的访问速度和负载能力。功能特点:1,PC手机自适应,URL路径完全
0
curl不可以吗?你试试这个呢!
立即学习“PHP免费学习笔记(深入)”;
public function checkRemoteHttpFileExists($url) {
$curl = curl_init($url);
// 不取回数据
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
// @curl_setopt($curl, CUROPT_RETURNTRANSFER,1);
// 发送请求
$result = @curl_exec($curl);
$found = false;
// 如果请求没有发送失败
if ($result !== false) {
// 再检查http响应码是否为200
$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($statusCode == 200) {
$found = true;
}
}
curl_close($curl);
return $found;
}
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号