Измените размер изображения перед загрузкой и презентацией, используя readfile () в Stack Overflow

Я хотел бы изменить размер изображения на стороне сервера с помощью PHP перед загрузкой и перед тем, как он будет представлен пользователю. Это невозможно сделать во время загрузки, так как изображения постоянно меняются и загружаются с использованием FTP. Я использую следующий код для представления изображения

header('Content-Type: image/jpeg');
readfile($img . $filename . "." . $ext);

Возможно ли это сделать через PHP, поскольку я хотел бы уменьшить размер загружаемого изображения; в идеале без записи на диск (так как файл постоянно доступен пользователям).

Спасибо за вашу помощь.

0

Решение

Если у вас есть GD библиотека установлена, вы можете делать то, что вам нужно, без записи на диск.

<?php
$filename = 'images/picture.jpg';
//the resize will be a percent of the original size
$percent = 0.5; // 50%

// Content type
header('Content-Type: image/jpeg');

// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;

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

// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);imagejpeg($thumb); // this will output image data
// if you need much lower size of image try experimenting with quality param
// imagejpeg($thumb,$saveToFile=null, $quality=70);
imagedestroy($thumb); //free some memory
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]