[英]Get image dimensions with php
我試圖將圖像的寬度和高度回顯到我擁有的循環數組中。 除了寬度和高度,其他所有東西似乎都在那里。 圖像顯示在我的輪播中。 為了使輪播正常工作,它喜歡具有圖像的寬度和高度。 我不想輸入手動值並使圖像失真!!
這是我的代碼片段。
<?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);
但這也不起作用。 任何想法,將不勝感激!
使用getimagesize()時,是否嘗試使用文件的完整路徑? 當找不到圖像時,它不起作用。
您當前的$image
是一個字符串。 您嘗試使用的功能旨在用於GD庫中的資源。
如果只需要尺寸,那么做事的更簡單方法是根本不使用GD庫(這對您所做的工作來說是過大了)。 我建議使用getimagesize
。 http://php.net/manual/zh/function.getimagesize.php
$size = getimagesize($filename);
echo $size[0]; //width
echo $size[1]; //height
imagesx
和imagesy
處理圖像資源,而不處理文件名。 帶有getimagesize
那一行代碼是正確的,但是您尋址圖像的方式僅在瀏覽器中有效,而在文件系統中無效。
/images/image.gif
在瀏覽器中可以使用,但是您需要相對路徑( ../../images/image.gif
)或文件系統特定的路徑( /users/joe/www/images/image.gif
)的getimagesize
函數來找到正確的文件。
$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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.