0

如果它真的是使用 php 的图像链接,我们如何验证图像链接?

我有一个网站,用户可以在其中保存图像链接,但我想在将其添加到数据库之前检查该链接,并且我只想接受 jpg 和 png 文件类型。

认为:http://sphotos-a.ak.fbcdn.net/hphotos-ak-ash3/65952_491770220880511_1455944784_n.jpg

如何验证?

只是想知道是否有办法:)

提前致谢

谢谢大家的帮助

4

3 回答 3

1

您可以使用 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”。你必须玩弄它,直到你涵盖所有的可能性。

于 2013-03-08T10:18:22.787 回答
0

您可以尝试使用 CURL 检索图片并检查标题以查看 Content-Type。如果它与图片匹配,您可以使用 imageMagick 复制图片或将链接保存到数据库中。

于 2013-03-08T10:12:08.433 回答
0

您可以仅检查标题以查看Content-Type,这可以确保您只有文件类型不存在或无错误文件。我也很想知道是否可以验证(存在)URL 或图像 url?

于 2013-03-08T10:23:56.603 回答