检测URL是图像的URL的最佳方法是什么?

时间:2010-12-14 23:45:04

标签: php javascript jquery html imagesource

检测网址是图片的网址的最佳方法是什么?

5 个答案:

答案 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)

  • 检查headers
  • 检查网址的扩展名( .gif / .png等)

答案 4 :(得分:1)

如果您只有URL,而不是服务器在您请求URL时给您的响应,那么您唯一能做的就是根据文件扩展名进行猜测,但无法保证文件以。结尾。 jpg是一个图像或以.php结尾的文件不是图像。

你可能会以.jpg,.gif,.png等结尾的相当快乐的网址将成为图片,但不能保证。

对于其他任何事情,除非你将其复原,否则它基本上是不可能的。