Алексей
Алексей

PHP - закачиваем изображение и делаем миниатюру

Что в моем скрипте не так? Не генерит миниатюру 😞 помогите плиз

if (isset($_FILES['img']['name']) && isset($_POST['title']) ) {

$maxwidth = 5000; //Максимальная ширина загружаемого изображения

$maxheight = 5000; //Максимальная высота загружаемого изображения





$allowed_filetypes = array('.jpg','.JPG','.jpeg','.JPEG','.gif','.GIF','.png','.PNG','.bmp','.BMP'); //Поддерживаемые форматы

$maxs = 5120; // Максимальный размер файла в байтах

$upload_path = "../../images/content/";



$filename = $_FILES['img']['name']; //Имя файла

$sizefile = getimagesize($_FILES['img']['tmp_name']);//Параметры изображения

$size = filesize($_FILES['img']['tmp_name'])/1024; //Переводим размер изображения в Кбайты

$size = ceil($size); //округляем размер файла до целого числа



$ext = substr($filename,strpos($filename,'.'),strlen($filename)-1);



if(!in_array($ext,$allowed_filetypes)) {

exit ("Вы выбрали НЕ изображение для загрузки или данный формат файлов не поддерживается");

}





else if($size > $maxs or $size == 0) { //Если размер файла больше максимального или равен 0 выдаем ошибку

exit ("Разрешается загружать файлы не более 5 Мб");

}





else if($sizefile[0] > $maxwidth or $sizefile[1] > $maxheight) {// Если разрешение не соответствуют выдаем ошибку

exit ("Файл, который ва пытаетесь загрузить, имеет разрешение $sizefile[0] x $sizefile[1]. Разрешается загружать фото не боле чем $maxwidth х $maxheight пикселей");

}





else {

move_uploaded_file($_FILES['img']['tmp_name'], $upload_path.$filename);

}





$new_name = uniqid().$ext;

//Переименуем файл на всякий случай что бы не было совпадений

rename($upload_path.$filename, $upload_path.$new_name);

global $ext, $upload_path, $new_name, $sizefile;

function create_thumb($big_img, $mini_img) {

if (!function_exists('imagecreatefrom'.$ext)) :

return false;

endif;



// Исходная картинка:

$thumb_img = call_user_func('imagecreatefrom'.$ext, $big_img);

$maxwidth = 400;

$maxheight = 310;

if (($sizefile[0] > $maxwidth) || ($sizefile[1] > $maxheight)) :

if ($sizefile[0] > $sizefile[1]) :

$ratio = $maxwidth / $sizefile[0];

else :

$ratio = $maxheight / $sizefile[1];

endif;

else :

$ratio = 1;

endif;



$thumbwidth = round($sizefile[0] * $ratio); // Ширина копии

$thumbheight = round($sizefile[1] * $ratio); // Высота копии



// Генерируем уменьшенную копию картинки:

$thumb = imagecreatetruecolor($thumbwidth, $thumbheight);

// Пропорционально меняем размер со сглаживанием:

imagecopyresampled($thumb, $thumb_img, 0, 0, 0, 0, $thumbwidth, $thumbheight, $sizefile[0], $sizefile[1]);

call_user_func_array('image'.$ext, array($thumb, $mini_img));



return true;

}

if (create_thumb($upload_path.$new_name, $upload_path.'Minecraft150x150.jpg')) { echo 'Получилось'; }

else { echo 'чет не так'; }

}

Ольга
Ольга

Зачем столько писанины тут от силы строчек 10

Похожие вопросы
объясните мне непонятливой (по порядку =) что сделать чтоб вместо такой миниатюры была миниатюра загруженного изображения
Что я смогу делать с помощью php??
php положение изображение (GD)
Как сделать так чтобы при нажатии на кнопку показывалось изображение? PHP Devel Studio
Работа с изображениями в php
Что я делаю не так? php программирование
У меня вопрос по созданию миниатюр в php.
Вместо миниатюры, показываеться изображения какой-то цветок.
PHP маньяки гоу поможете с изображениями =))))
что эти файлы у меня делают на компе, я их в жизни не закачивал!!