2012-09-21 23 views
0

我使用timthumb來調整圖像大小,因爲如果我只輸入其中一個尺寸,它會很好地縮放它們。不過,我想知道是否可以提取新的調整大小的圖像的尺寸,以便我可以動態地將其添加到img標籤屬性。從timthumb中提取新的圖像尺寸

我想這沒有運氣:

$fullpath = '/lib/timthumb.php?src='.$image.'&w=100'; 
$my_image = array_values(getimagesize($fullpath)); 
list($width, $height, $type, $attr) = $my_image; 

任何想法?

回答

3

雖然我不知道如何讀取直接在高速緩存由timthumb產生的大拇指,這應該工作:

$fullpath = '/lib/timthumb.php?src='.$image.'&w=' . $newWidth; 

#array with 0 being the width, and 1 being the height, and some other values as well 
$oldDims = getimagesize($image); 

#timthumb uses floor(), so mimicing here 
$newHeight = floor($newWidth/$oldDims[0] * $oldDims[1]); 
+0

我正在測試這個,到目前爲止,它似乎正在做我所需要的。在進一步測試後會跟進並通知您。謝謝! – jonthoughtit

+0

它應該工作,因爲它基本上是完全相同的計算timthumb正在做;) – ernie

+0

很好,謝謝! – jonthoughtit

-1

我的想法是將縮放圖像在上傳到服務器之前。如果你有很多圖像調整它們的方式是一個昂貴的操作。你也不需要timthumb php可以自己做這個。所以,如果你真的需要調整服務器上的圖像試着這麼做...

$size = gewtimagesize($image); 
$dimensions = $size['3'];//returns height="xxx" width="xxx" 
$img = <<<IMG 
    <img src="path/to/img" $dimensions > 
IMG; 
echo $img; 

我不知道,如果它的工作原理,但它的權利在我看來

- 編輯 - 沒關係,這不適合你

+0

調整大小在哪裏? – ernie

+0

他正在使用timthumb的權利?我回答他的問題「但是我想知道是否可以提取新的調整大小的圖像的尺寸,以便我可以動態地將它添加到img標籤屬性。」 – noel

+0

'$ image'是舊的原始圖像。問題是timthumb動態生成緩存中的圖像,所以他不能使用'getimagesize()',因爲他沒有新圖像的文件路徑。 。 。 – ernie