簡體   English   中英

用PHP獲取圖像尺寸

[英]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

imagesximagesy處理圖像資源,而不處理文件名。 帶有getimagesize那一行代碼是正確的,但是您尋址圖像的方式僅在瀏覽器中有效,而在文件系統中無效。

/images/image.gif在瀏覽器中可以使用,但是您需要相對路徑( ../../images/image.gif )或文件系統特定的路徑( /users/joe/www/images/image.gif )的getimagesize函數來找到正確的文件。

從圖像對象獲取圖像大小:

$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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM