下面是代码片段-
list($campaign_image_width, $campaign_image_height, $campaign_image_type, $campaign_image_attr)=getimagesize($campaign_image);其中$campaign_image包含第三方图像的url。
问题
$campaign_image_width空出来要这个网址-
3L8VH2wxJSTiKPr72PeM5uhPPFEsHzzYdxenddpTI150M0TYpljnZisQaROR0=h256-rw
我不确定是getimagesize()的限制,是由于不支持的格式造成的,还是图像的可访问性问题造成的。
注-
-后面的=h256-rw似乎告诉服务器返回一个不同大小的映像。
-我发现如果我尝试使用firefox浏览器打开文件,它不会显示图像,而是要求下载webp文件( google的图像格式)。谷歌铬打开文件,并显示图像,通常。
发布于 2016-03-07 12:14:29
由于您的服务器已经在下载文件,所以您最好自己下载(如果问题是它不能正确地为webp完成)。您可以使用GD方法imagecreatefromwebp和imagesx和imagesy轻松地做到这一点。
<?php
$url = 'https://lh3.googleusercontent.com/VRY0O_3L8VH2wxJSTiKPr72PeM5uhPPFEsHzzYdxenddpTI150M0TYpljnZisQaROR0=h256-rw';
$img = imagecreatefromwebp($url);
$width = imagesx($img);
$height = imagesy($img);
var_dump($width, $height);注意: imagecreatefromwebp()最初是在PHP5.5中引入的,所以请确保安装了GD扩展后的最低版本为5.5。
如果可能的话,您可以将Google自己的webp转换器作为二进制文件安装在服务器上:
https://developers.google.com/speed/webp/docs/compiling#building
在本例中,您运行的是基于Fedora的Amazon,因此使用yum作为包管理器,因此您应该能够运行以下命令:
sudo yum install libwebp;安装完毕后,可以通过使用safemode和下列执行方法之一确保safe_mode_exec_dir支持二进制文件:
execpassthrusystempopen一旦你运行了转换到例如。JPG,您可以运行常用的PHP工具来获取图像维数:
$hnd = imagecreatefromjpeg('convertedImage.jpg');
$width = imagesx($hnd);
$height = imagesy($hnd);https://stackoverflow.com/questions/35842807
复制相似问题