我试图将图像的宽度和高度回显到我拥有的循环数组中。宽度和高度以外的所有东西似乎都在那里。图像显示在我的旋转木马中。为了让旋转木马正常工作,它喜欢图像的宽度和高度。我不想输入手动值并扭曲图像!!
以下是我的代码片段。
<?php do {
$image = $_SERVER['DOCUMENT_ROOT'].$row_rs_imgpath['userimagespath'].$row_rs_smimg['thumbfile'];
$x= imagesx($image);
$y = imagesy($image);
?>
<img src="<?php echo $row_rs_imgpath['userimagespath'].$row_rs_smimg['thumbfile']; ?>" alt="<?php echo $row_rs_smimg['imgname']; ?>" width="<?php echo $x;?>" height="<?php echo $y;?>" />
<?php } while ($row_rs_smimg = mysql_fetch_assoc($rs_smimg)); ?>
当您查看页面源代码时,您将获得以下内容:
<img src="/images/uploads/my-future-car-1358783315_thumb.jpg"width="" height="" />
<img src="/images/uploads/albert_docks_liverpool-1358872736_thumb.jpg" width="" height="" />
我也试过
list($width, $height)= getimagesize($image);
但这也不起作用。任何想法,将不胜感激!
答案 0 :(得分:1)
使用 getimagesize()时,您是否尝试使用文件的完整路径?当它找不到图像时它不起作用。
答案 1 :(得分:1)
您当前的$image
是一个字符串。您尝试使用的功能旨在用于GD库中的资源。
如果你只需要尺寸,更简单的做事方法就是不要使用GD库(这对你正在做的事情来说太过分了)。我建议使用getimagesize
。 http://php.net/manual/en/function.getimagesize.php
$size = getimagesize($filename);
echo $size[0]; //width
echo $size[1]; //height
答案 2 :(得分:0)
imagesx
和imagesy
处理图片资源,而不是文件名。使用getimagesize
的代码行是正确的,但您处理图像的方式只能在浏览器中使用,而不能在文件系统中使用。
/images/image.gif
可在浏览器中使用,但您需要../../images/image.gif
函数的相对路径(/users/joe/www/images/image.gif
)或文件系统特定路径(getimagesize
)找到合适的文件。
答案 3 :(得分:0)
$source = imagecreatefrompng(...);
$width = imagesx($source);
$height = imagesy($source);
对于imagesx
和imagesy
函数,您需要传递资源,而不是像您一样传递字符串。
$size= getimagesize('sample-image.jpg');
$width = $gis[1];
$height = $gis[1];
或者
list($width, $height) = getimagesize($filename)