Как сделать, чтобы загружались и png рисунки?
// Проверяем кнопочку "Submit"
if (isset($_POST['mySubmit'])) {
// Только JPG/JPEG
if ($_FILES["myImage"]["type"] == "image/jpeg" )
{
// Установить нужные размеры
$max_width = 1000;
$max_height = 415;
// Создать изображение
$image_source = imagecreatefromjpeg($_FILES["myImage"]["tmp_name"]);
$remote_file = 'foto/' . $_FILES["myImage"]["name"];
imagejpeg($image_source, $remote_file, 100);
// Узнать размеры оригинала
list($original_width, $original_height) = getimagesize($remote_file);
// Сейчас будем выяснять что конкретно надо отрезать...
$temp_width = $original_height / $max_height * $max_width;
$temp_height = $original_width / $max_width * $max_height;
// Это будет или ширина,
if ($temp_width < $original_width) {
$myWidth = $temp_width;
$myHeight = $original_height;
}
// Или высота.
if ($temp_height < $original_height) {
$myWidth = $original_width;
$myHeight = $temp_height;
}
// Создаем изображению, уже с новымы размерамы
$new_image = imagecreatetruecolor($max_width, $max_height);
$image_source = imagecreatefromjpeg($remote_file);
imagecopyresampled ($new_image, $image_source, 0, 0, 0, 0, $max_width, $max_height, $myWidth, $myHeight);
imagejpeg($new_image,$remote_file,100);
// Все, избавляемся от мусора....
imagedestroy($new_image);
imagedestroy($image_source);
echo "Изображение было успешно загружено!";
}
else {
// Если фаил не загрузили
echo "Произошла ошибка при загрузке изображения";
}
}
Источник: Stack Overflow на русском