У меня есть таблица с именами пользователей, и каждая строка (пользователь) имеет изображение.Создание эскизов из хранимых изображений mysql
Изображение хранится в виде BLOB в базе данных MySQL, используя этот код:
$filename = $_FILES['image']['tmp_name'];
$size = getimagesize($filename);
$handle = fopen($filename , "rb");
$content = fread($handle , filesize($filename));
fclose($handle);
unlink($filename);
$image = base64_encode($content);
// .... send query to database ....
Это работало на первый, но, как все больше и больше изображений должны быть показаны на каждой странице, он получает очень загружен, поэтому теперь я хочу создать эскизы, сохраненные в файловой системе сервера, используя php GD.
У меня есть следующий код, но я понятия не имею, что делать, чтобы прочитать изображение из базы данных, чтобы я мог создать его миниатюру.
$query = "SELECT * FROM users;";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
$uploaded_image = base64_decode($row['image']);
$size = getimagesize($uploaded_image); <--------------------
$dimension_x = 73;
$dimension_y = 73;
$directory = 'views/images/generated/people/';
do{
$filename = random_32();
$filename = $directory.$filename.'.jpg';
} while(file_exists($filename));
$image = imagecreatefromjpeg($uploaded_image);
$thumb = imagecreatetruecolor($dimension_x , $dimension_y);
$size = getimagesize($uploaded_image);
imagecopyresampled($thumb , $image , 0 , 0 , 0 , 0 , $dimension_x , $dimension_y , $size['0'], $size['1']);
imagejpeg($thumb , $filename , 100);
}
Я пытаюсь найти, что я должен положить, где стрелка должна заставить скрипт работать.
Все это делает сейчас выводится
Warning: getimagesize(ÿØÿà): failed to open stream: No such file or directory in /var/www/play/ns4/models/create_thumbs_people.php on line 12
Для каждой записи в базе данных.
---- ---- РЕДАКТИРОВАТЬ
забыл упомянуть, random_32() это функция, которая генерирует 32 символов случайной строки так, что изображения с именем.
Я пробовал ваш код, менял значения в imagecopyresampled, и он работал как шарм! – ppp