为什么我不能在这张图片上使用getimagesize PHP?
对于这张图片我可以获得getimagesize PHP,工作得很好。
<?PHP
$source = "https://i.pinimg.com/736x/da/7a/19/da7a19a0c3daabe579ecca21d1ae32c3--felt-wool-felting-projects.jpg";
$dimension = getimagesize($source);
$width = $dimension[0];
$height = $dimension[1];
echo $width;
echo "<BR>";
echo $height;
?>
但是对于这个图像为什么我不能得到getimagesize PHP?
<?PHP
$source = "https://shorebread.com/wp-content/uploads/2016/07/kitty-cat-reaching_138482216-2000x500.jpg";
$dimension = getimagesize($source);
$width = $dimension[0];
$height = $dimension[1];
echo $width;
echo "<BR>";
echo $height;
?>
如何在每张图片上使用getimagesize PHP?
答案 0 :(得分:1)
可能是网站不允许&#34; hot-linking&#34;或者它阻止了PHP的用户代理。
如果您尝试从网址获取数据,您将获得 HTTP / 1.1 403禁止 响应:
php > $dimension = getimagesize($source);
PHP Warning: getimagesize(https://shorebread.com/wp-content/uploads/2016/07/kitty-cat-reaching_138482216-2000x500.jpg):
failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
in php shell code on line 1
如果您首先下载图像,并从磁盘执行相同操作,则可以使用:
php > $dimension = getimagesize("kitty-cat-reaching_138482216-2000x500.jpg");
php > print_r($dimension);
Array
(
[0] => 2000
[1] => 500
[2] => 2
[3] => width="2000" height="500"
[bits] => 8
[channels] => 3
[mime] => image/jpeg
)
因此,getimagesize
并不适用于所有图像。它无法自行下载图像。