以前曾经问过这个问题,但大多数(如果不是全部的话)答案都是在所有情况下都不起作用或者没有必要的解决方案(例如使用下载整个图像的getimagesize()
)。
我如何检查给定网址是否会导致图片而无需对图片扩展程序进行硬编码(例如.png
',.jpg
等)?
答案 0 :(得分:1)
您只能通过CURL读取文件标题,然后检测标题是否为图像标题。
curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $file_url);
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$header = curl_exec($curl);
curl_close($curl);
if (strstr($header, 'image/png')) {
//file is image
}