我正在使用以下代码快速验证链接是否为图像...
if (getimagesize($imageLink)) {
} else {
echo "notImage";
exit();
}
Run Code Online (Sandbox Code Playgroud)
它几乎可以在所有情况下工作(例如,如果浏览器返回图像,则getimagesize将返回某些内容),但是我发现某些情况下它不起作用-例如对于此链接...
这通常适用于路透社的网站,而且我敢肯定还有其他一些网站,但是由于浏览器设法返回了图像,因此我真的很难理解为什么会出现此问题。我本来以为getimagesize需要明确声明的文件路径(例如,以.jpg,.png等结尾),但是再一次像这样的链接可以正常工作...
非常感谢任何有想法的人的想法,为什么在第一个示例中getimagesize不会返回图像,而在第二个示例中会返回图像-关于如何修改代码以适应路透社示例的任何建议也都很棒!
照原样使用
<?php
list($width, $height) = getimagesize("http://s4.reutersmedia.net/resources/r/?m=02&d=20160330&t=2&i=1128905435&w=&fh=545px&fw=&ll=&pl=&sq=&r=LYNXNPEC2T0YW");
$arr = array('h' => $height, 'w' => $width );
print_r($arr); //output - Array ( [h] => 545 [w] => 968 )
?>
Run Code Online (Sandbox Code Playgroud)