检测网址是图片的网址的最佳方法是什么?
答案 0 :(得分:9)
使用PHP:
最安全 - 获取实际图像数据。通过实际读取文件中的标题字节,执行getimagesize()
来确定图像类型。
最快 - 获取资源,解析响应标头并查找content-type
标头。这种方法不如第一种方法可靠:服务器可能在撒谎或配置错误。
更快 - 在URL上执行HEAD请求,并查找content-type
标头。可能无法用于动态图像资源。我对此没有经验,所以里程可能会有所不同。
超偏执最安全但是懒散 - 使用PHP获取实际图像数据,使用GD库将它们复制到新的图像资源中,并保存结果。如果此过程有效,则保证是有效的,无污染的图像。资源密集型;一些有效的图像格式,浏览器支持但GD不属于桌面。
我会选择第一个选项。
使用JavaScript:
img
元素中。如果onload
事件触发,并且图像之后具有物理尺寸,则浏览器会设法加载图像。答案 1 :(得分:2)
可以查看HTTP标头吗?只是一个想法。
答案 2 :(得分:2)
请求HTTP连接后,尝试检查响应的标头...尝试查找mime类型。
答案 3 :(得分:1)
答案 4 :(得分:1)
如果您只有URL,而不是服务器在您请求URL时给您的响应,那么您唯一能做的就是根据文件扩展名进行猜测,但无法保证文件以。结尾。 jpg是一个图像或以.php结尾的文件不是图像。
你可能会以.jpg,.gif,.png等结尾的相当快乐的网址将成为图片,但不能保证。
对于其他任何事情,除非你将其复原,否则它基本上是不可能的。