2012-03-23 2 views
1

Мне нужно создать страницу, которая автоматически создаст миниатюру со всех изображений, если выбрана папка, и покажет их на одной странице. Но дело в том, что я не хочу их спасти. Я хочу отображать их на одной странице без сохранения. И мне нужно сделать это на PHP. Является ли это возможным? Пожалуйста помоги! Примечание: Если это невозможно, я могу поместить их в какую-то папку.создание эскизов без их сохранения

+1

Вы можете сделать это, но это, как правило, очень плохая идея для загрузки сервера. – ceejayoz

+0

Если вы не используете что-то вроде CSS или HTML-параметров для изображений ... Я считаю, что вы будете сохранять эти миниатюры, независимо от того, (если даже в папку/tmp или где-то ...) при использовании PHP. – summea

+0

У вас есть ссылка на какой-то пример? –

ответ

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

+0

Правильно, я забыл, что это должно быть миниатюрами. Я обновлю код выше. – Dion

+0

Как это сделать для более одного изображения? Должен ли я создать массив изображений? –

0

Вы могли бы также рассмотреть возможность использования data URIs. Используйте код в ответе DRP96 для создания миниатюры, но вместо того, чтобы делать это в отдельном PHP и требующем много запросов изображения, вставляйте изображения непосредственно на страницу.

Большинство современных браузеров теперь поддерживают URI данных, но, как обычно, следите за IE.

0

заменить эту строку

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

с этим

list($width, $height) = getimagesize("image.png"); 
Смежные вопросы