问题:getimagesize() 对于某些 URL 不起作用,尤其是重定向的 URL。
我用谷歌搜索并检查了 stackoverflow 但无济于事。
这是我在本地计算机上看到的内容:
var_dump(getimagesize('http://gan.doubleclick.net/gan_impression?lid=41000000015155731&pubid=21000000000506299&lsrc=17'));
> Array
(
[0] => 120
[1] => 90
[2] => 2
[3] => width="120" height="90"
[bits] => 8
[channels] => 3
[mime] => image/jpeg
)
在我的服务器上:
var_dump(getimagesize('http://gan.doubleclick.net/gan_impression?lid=41000000015155731&pubid=21000000000506299&lsrc=17'));
> bool(false)
我尝试了其他图像和 URL,它们工作正常。正是这个 URL 给我带来了问题。我还尝试了以下(在我的服务器上),并且这个does work:
echo strlen(file_get_contents('http://gan.doubleclick.net/gan_impression?lid=41000000015155731&pubid=21000000000506299&lsrc=17'));
> 4829 // This number means it works
错误日志没有任何内容,也没有其他我可以告诉的提示。我猜这是需要在 php.ini 中进行更改的内容
Maybe allow_url_fopen
被禁用在你的PHP.ini
文件?
您可以编辑您的PHP.ini
文件或使用cUrl
反而。
Example:
<?php
//Download content
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, 'http://gan.doubleclick.net/gan_impression?lid=41000000015155731&pubid=21000000000506299&lsrc=17');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$file_contents = curl_exec($ch);
curl_close($ch);
file_put_contents('file', $file_contents); //Put content in ./file
var_dump(getimagesize('file')); //Get image size
unlink('file'); //Remove the file
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)