用php获取图像尺寸

时间:2013-01-22 19:00:05

标签: php html image

我试图将图像的宽度和高度回显到我拥有的循环数组中。宽度和高度以外的所有东西似乎都在那里。图像显示在我的旋转木马中。为了让旋转木马正常工作,它喜欢图像的宽度和高度。我不想输入手动值并扭曲图像!!

以下是我的代码片段。

 <?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);

但这也不起作用。任何想法,将不胜感激!

4 个答案:

答案 0 :(得分:1)

使用 getimagesize()时,您是否尝试使用文件的完整路径?当它找不到图像时它不起作用。

答案 1 :(得分:1)

您当前的$image是一个字符串。您尝试使用的功能旨在用于GD库中的资源。

如果你只需要尺寸,更简单的做事方法就是不要使用GD库(这对你正在做的事情来说太过分了)。我建议使用getimagesizehttp://php.net/manual/en/function.getimagesize.php

$size = getimagesize($filename);
echo $size[0]; //width
echo $size[1]; //height

答案 2 :(得分:0)

imagesximagesy处理图片资源,而不是文件名。使用getimagesize的代码行是正确的,但您处理图像的方式只能在浏览器中使用,而不能在文件系统中使用。

/images/image.gif可在浏览器中使用,但您需要../../images/image.gif函数的相对路径(/users/joe/www/images/image.gif)或文件系统特定路径(getimagesize)找到合适的文件。

答案 3 :(得分:0)

从Image对象获取图像大小:

$source = imagecreatefrompng(...);
$width = imagesx($source);
$height = imagesy($source);

对于imagesximagesy函数,您需要传递资源,而不是像您一样传递字符串。

从路径获取图像大小:

$size= getimagesize('sample-image.jpg');
$width = $gis[1];
$height = $gis[1];

或者

list($width, $height) = getimagesize($filename)