如果使用php确实是图像链接,我们如何验证图像链接?
我有一个网站,用户可以保存图像链接但我想在将其添加到数据库之前检查该链接,而我只想接受jpg和png文件类型。
支持:http://sphotos-a.ak.fbcdn.net/hphotos-ak-ash3/65952_491770220880511_1455944784_n.jpg
如何验证?
只想知道是否有办法:)
提前致谢
感谢所有人的帮助
答案 0 :(得分:1)
您可以使用PHP函数get_headers来检查文件的内容类型。
你可以伪造标题(例如使用PHPs header()函数),但是对于基本验证,这应该可行。
$headers = get_headers("http://sphotos-a.ak.fbcdn.net/hphotos-ak-ash3/65952_491770220880511_1455944784_n.jpg", 1);
if ($headers["Content-Type"] == "image/png" or $headers["Content-Type"] == "image/jpeg") {
// It is a PNG or JPG
}
此外,它可能(但我不完全确定)服务器返回Content-Type的变体,如“image / jpg”或“img / png”。你必须玩它,直到你涵盖所有可能性。
答案 1 :(得分:0)
您可以尝试使用CURL检索图片并检查标题以查看Content-Type。如果它与图片匹配,您可以使用imageMagick复制图片,或者只是将链接保存到数据库中。
答案 2 :(得分:0)
您只能查看标题以查看内容类型,这可以确保您只保留不存在的文件类型或无错文件。我也很想知道是否可以验证(存在)URL或图像URL?