如果它真的是使用 php 的图像链接,我们如何验证图像链接?
我有一个网站,用户可以在其中保存图像链接,但我想在将其添加到数据库之前检查该链接,并且我只想接受 jpg 和 png 文件类型。
认为:http://sphotos-a.ak.fbcdn.net/hphotos-ak-ash3/65952_491770220880511_1455944784_n.jpg
如何验证?
只是想知道是否有办法:)
提前致谢
谢谢大家的帮助
如果它真的是使用 php 的图像链接,我们如何验证图像链接?
我有一个网站,用户可以在其中保存图像链接,但我想在将其添加到数据库之前检查该链接,并且我只想接受 jpg 和 png 文件类型。
认为:http://sphotos-a.ak.fbcdn.net/hphotos-ak-ash3/65952_491770220880511_1455944784_n.jpg
如何验证?
只是想知道是否有办法:)
提前致谢
谢谢大家的帮助
您可以使用 PHP 函数get_headers来检查文件的内容类型。
虽然您可以伪造标题(例如使用 PHP 的 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”。你必须玩弄它,直到你涵盖所有的可能性。
您可以尝试使用 CURL 检索图片并检查标题以查看 Content-Type。如果它与图片匹配,您可以使用 imageMagick 复制图片或将链接保存到数据库中。
您可以仅检查标题以查看Content-Type,这可以确保您只有文件类型不存在或无错误文件。我也很想知道是否可以验证(存在)URL 或图像 url?