Изменение размера изображения из базы данных с помощью PHP

В настоящее время у меня есть скрипт, который извлекает содержимое изображения из базы данных и, используя createimagefromstring(), возвращает изображение с измененным размером (передискретизацией) для отображения:

$max_width = 170;

// Get the image

@mysql_connect('host', 'user', 'pass');
@mysql_select_db('db');

$query = "SELECT `thumbnail_contents`, `thumbnail_mimetype` FROM `videos` WHERE video_number  = '$video_number'";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_object($result);

// Resize if pic bigger than $max_width
// Set the header
header('Content-type:' . $row->thumbnail_mimetype);

// Get original size of image
$image = imagecreatefromstring($row->thumbnail_contents);
$current_width = imagesx($image);
$current_height = imagesy($image);

// Set thumbnail width
$widths = array($current_width, $max_width);
$new_width = min($widths);

// Calculate thumbnail height from given width to maintain ratio
$new_height = $current_height / $current_width*$new_width;

// Create new image using thumbnail sizes
$thumb = imagecreatetruecolor($new_width,$new_height);

// Copy original image to thumbnail
imagecopyresampled($thumb,$image,0,0,0,0,$new_width,$new_height,imagesx($image),imagesy($image));

// Show thumbnail on screen
$show = imagejpeg($thumb);

// Clean memory
imagedestroy($image);
imagedestroy($thumb);

В настоящее время этот скрипт работает для большинства миниатюр и отображает их на экране по желанию. Тем не менее, когда я загружаю изображение с большой шириной, скажем, более 1000 пикселей, оно сохраняется в базе данных, но сценарий не показывает передискретизированное изображение.

Чтобы устранить неполадки, я проверил db, а также print_r'd результат запроса. Все кажется кошерным... Может кто-нибудь сказать мне, что может быть причиной такого поведения? Любая помощь или руководство с благодарностью!

1 ответ

Решение

5 долларов говорят, что php не хватает памяти. Проверьте свои журналы ошибок php.

Другие вопросы по тегам