我怎么能检查如果给定的URL是一个图像


how can i check if a given URL is an image?

我想使用getimagesize($url);,但仍然有很多情况下,我可以通过浏览器访问图像,但相同的图像返回没有从getimagesize($url);

$url = 'http://lp.hm.com/hmprod?set=key[source],value[/model/2012/P01 06826 05102 04 0026 4.jpg]&set=key[rotate],value[]&set=key[width],value[]&set=key[height],value[]&set=key[x],value[]&set=key[y],value[]&set=key[type],value[STILL_LIFE_FRONT]&call=url[file:/product/large] '; 

检查Content-Type头是否有字符串image

只需使用get_headers(): http://php.net/manual/en/function.get-headers.php功能

如果您的系统上有curl,您也可以使用curl,详细信息如下:使用curl和php

获取外部文件的mime类型

要使用getimagesize(),您需要下载url并将其保存为本地文件。然后将本地存储的文件名字符串传递给getimagesize()。