2012-03-23 103 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");