我有一些问题.
我需要检查网址是否为图片网址?我怎样才能做到这一点?
示例:如果我把http://www.google.com/放在不是图片网址.
但如果我把http://www.google.com/profiles/c/photos/private/AIbEiAIAAABECK386sLjh92M4AEiC3ZjYXJkX3Bob3RvKigyOTEzMmFmMDI5ODQ3MzQxNWQxY2VlYjYwYmE2ZTA4YzFhNDhlMjBmMAEFQ7chSa4PMFM0qw02kilNVE1Hpw或http://www.hoax-slayer.com/images/worlds-strongest-dog.jpg是为图像的URL.
Bli*_*izz 24
如果您想完全确定,并且您的PHP已启用远程连接,您可以使用
getimagesize('url');
Run Code Online (Sandbox Code Playgroud)
如果它返回一个数组,它是PHP识别的图像类型,即使图像扩展名不在url中(按照你的第二个链接).您必须记住,此方法将为每个请求建立远程连接,因此可能缓存已在数据库中探测的URL以降低连接.
您可以使用如下所示的 getimagesize 函数检查 url 是否为图像。
function validImage($file) {
$size = getimagesize($file);
return (strtolower(substr($size['mime'], 0, 5)) == 'image' ? true : false);
}
$image = validImage('http://www.example.com/image.jpg');
echo 'this image ' . ($image ? ' is' : ' is not') . ' an image file.';
Run Code Online (Sandbox Code Playgroud)