2015-05-16 4 views
1

У меня есть образ, который я получаю из базы данных в виде BLOB, однако я посылаю клиенту полноразмерный образ, который затем изменяется на их стороне. Изображения могут быть очень большими, поэтому я хотел бы изменить размер изображения до его отправки клиенту.Изменение размера изображения BLOB в PHP перед отправкой на клиент

настоящее время у меня следующий код:

if (!empty($row['img'])) {$img = $row['img'];} 
$width = imagesx(imagecreatefromstring($img)); 
$height = imagesy(imagecreatefromstring($img)); 
$resizer = $width/200; 
$newHeight = floor($height/$resizer); 
$news = $news . "<div class='newsItem' style='min-height:".$newHeight."px;'>"; 
if (isset($img)) {$news = $news . "<img src='data:image/jpeg;base64,".base64_encode($img)."' width='200' height='".$newHeight."'>";} 
$news = $news . "<h2>".$title."</h2><hr class='newsHr'><span>".$text."</span></div>"; 

Какие функции можно использовать, чтобы изменить размер $ IMG?

ответ

1

Это должно сработать для вас. Пример взят из этого Manual

<?php  
// Load 
    $thumb = imagecreatetruecolor($newwidth, $newheight); 
    $source = imagecreatefromjpeg($filename); 

    // Resize 
    imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); 

    // Output 
    imagejpeg($thumb); 
?> 

Чтобы преобразовать BLOB магом в файл использовать.

file_put_contents('/path/to/new/file_name', $my_blob); 
+0

Эй, немного смущенный здесь. Каким будет ссылка $ filename? –

+0

$ filename - ссылка на ваш файл изображения на сервере. См. Обновленный ответ о том, как преобразовать BLOB в файл изображения. –

Смежные вопросы