【发布时间】:2018-01-10 21:29:13
【问题描述】:
我有一个功能可以检查 url 是否是图像。 问题是当用户发布 gif 图像时它不起作用。 它显示 X 而不是图像。该网站是 html 格式,但它以图像/gif 格式获取。
有什么想法吗?
用户发布的内容:https://media.giphy.com/media/CwbErAWpTQDxS/giphy.gif 这是一个 html 页面而不是 gif。
我的功能:
function isImage($url){
$url_headers=get_headers($url, 1);
if($url_headers[0] == 'HTTP/1.1 404 Not Found') {
$url_exists = false;
}
else {
$url_exists = true;
}
if($url_exists){
if(isset($url_headers['Content-Type'])){
$type=strtolower($url_headers['Content-Type']);
$valid_image_type=array();
$valid_image_type['image/png']='';
$valid_image_type['image/jpg']='';
$valid_image_type['image/jpeg']='';
$valid_image_type['image/jpe']='';
$valid_image_type['image/gif']='';
if(isset($valid_image_type[$type])){
return true;
}
else{
return false;
}
}
}
}
【问题讨论】:
-
@LawrenceCherone 它在这里显示图像/gif
-
您的问题到底是什么?此 url 返回的内容类型为“text/html”。
-
从该 url 返回的标头是 Content-Type => image/gif
-
php curl 获取标题然后检查你得到了什么?
-
这与你的功能无关。检查下面@TimG 的答案。
标签: javascript php html image