Я работаю над сценарием, который загружает изображение с помощью PHP, и я хочу, чтобы он изменил размер изображения на 180 до его сохранения.
Я попытался использовать библиотеку WideImage и -> saveFileTO (…), но когда я включу WideImage.php на странице, страница станет пустой!
Итак, вот мой скрипт, если вы можете мне помочь и рассказать мне, как сделать его сохраненной измененной версией
Вы можете использовать библиотеку PHP GD для изменения размера изображения при загрузке.
Следующий код должен дать вам представление о том, как реализовать изменение размера:
// Get the image info from the photo $image_info = getimagesize($photo); $width = $new_width = $image_info[0]; $height = $new_height = $image_info[1]; $type = $image_info[2]; // Load the image switch ($type) { case IMAGETYPE_JPEG: $image = imagecreatefromjpeg($photo); break; case IMAGETYPE_GIF: $image = imagecreatefromgif($photo); break; case IMAGETYPE_PNG: $image = imagecreatefrompng($photo); break; default: die('Error loading '.$photo.' - File type '.$type.' not supported'); } // Create a new, resized image $new_width = 180; $new_height = $height / ($width / $new_width); $new_image = imagecreatetruecolor($new_width, $new_height); imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); // Save the new image over the top of the original photo switch ($type) { case IMAGETYPE_JPEG: imagejpeg($new_image, $photo, 100); break; case IMAGETYPE_GIF: imagegif($new_image, $photo); break; case IMAGETYPE_PNG: imagepng($new_image, $photo); break; default: die('Error saving image: '.$photo); }
Вы можете использовать класс, который я написал для такой задачи:
http://code.google.com/p/image2/source/browse/#svn/trunk/includes/classes
<?php try { $image = new Image2($path_to_image); } catch (NotAnImageException $e) { printf("FILE PROVIDED IS NOT AN IMAGE, FILE PATH: %s", $path_to_image); } $image -> resize(array("width" => 180)) -> saveToFile($new_path); // be sure to exclude the extension $new_file_location = $image -> getFileLocation(); // this will include the extension for future use
Вам даже не нужно использовать библиотеку WideImage.
Проверьте этот скрипт здесь: http://bgallz.org/502/php-upload-resize-image/
Вы начинаете с загрузки изображения и сохранения в файл временного изображения. Этот скрипт запускается с формой с входами для максимальной высоты или максимальной ширины. Таким образом, он будет генерировать новый файл изображения на основе новой ширины / высоты, а затем скопировать временное изображение на новый, созданный на сервере.
Вы видите это со следующим кодом:
// Create temporary image file. $tmp = imagecreatetruecolor($newwidth,$newheight); // Copy the image to one with the new width and height. imagecopyresampled($tmp,$image,0,0,0,0,$newwidth,$newheight,$width,$height);
Не используйте какую-либо библиотеку. Проверьте этот скрипт. http://dr-wordpress.blogspot.com/2013/12/image-resizing-using-php.html Просто дал качество imges (0-99), этот код автоматически изменит размер изображения при загрузке