2012-03-23 50 views
1

我需要創建一個頁面,如果選擇的文件夾,它會自動從所有圖像生成縮略圖,並告訴他們在同一頁上。但事情是,我不想拯救他們。我想在不保存的情況下在同一頁面上顯示它們。我需要在PHP中這樣做。可能嗎?請幫忙! 注意:如果這是不可能的,我可以把它們放在一些文件夾中。創建縮略圖而不保存

+1

你可以做到這一點,但它通常是爲您的服務器負載一個非常糟糕的主意。 – ceejayoz 2012-03-23 15:15:45

+0

除非你使用類似CSS或HTML參數的圖像......我相信你會保存這些縮略圖,無論如何,(如果甚至到/ tmp文件夾或某處...)使用PHP。 – summea 2012-03-23 15:16:40

+0

你有鏈接到一些例子嗎? – 2012-03-23 15:17:42

回答

2

你必須做第二個PHP文件即可。你必須要在第一個文件<img src='image.php' />的圖像標籤,並在此image.php你必須打印出來像圖片:

header("Content-type: image/png"); 

$im  = imagecreatefrompng("image.png"); 
list($width, $height) = getimagesize($im); 
$newimage = imagecreatetruecolor($new_width, $new_height); 
imagecopyresampled($newimage, $im, 0, 0, 0, 0, "100", "100", $width, $height); 

imagepng($newimage); 
imagedestroy($newimage); 
imagedestroy($im); 
+0

此,加上窺視[imagecopyresampled](http://php.net/manual/en/function.imagecopyresampled.php)函數。 – AndrewR 2012-03-23 15:26:56

+0

正確,我忘記了這必須是一個縮略圖。我會更新上面的代碼。 – Dion 2012-03-23 15:28:27

+0

我怎樣才能做到這一點多一個圖像? 我應該創建一個圖像數組嗎? – 2012-03-26 10:50:10

0

你也可以考慮使用data URIs。使用DRP96答案中的代碼來創建縮略圖,但不是在單獨的PHP中執行此操作,而是需要很多圖像請求,將圖像直接嵌入到頁面中。

大部分現代瀏覽器都支持數據URI,但像往常一樣,注意IE瀏覽器。

0

替換該行

list($width, $height) = getimagesize($im); 

與此

list($width, $height) = getimagesize("image.png");