@etozhekqx
System Administrator at Jet

Resize не резайсит, что делать?

Есть код, который должен заливать изображение и уменьшать его, но он делает второго, в чем может быть проблема?
<?php
    $uploaddir = 'foto/products/'; //Директория фотографий продуктов
    $uploadfile = $uploaddir.'p-'.$prod_id.'.jpg'   //название файла
if (move_uploaded_file($_FILES['foto']['tmp_name'], $uploadfile, $quality = 100, $nsize = 400, $msize = 200)) //если добавляем файл
    {
    $sqladd = "UPDATE products SET prod_foto='$uploadfile' WHERE prod_id='$prod_id'"; // sql-заготовка
    $result = mysql_query($sqladd); // 
    
    $uploadfile2 = $uploadedfile; //Создание дополнительной переменной для файла
    $ext = substr($uploadedfile2, strrpos($uploadfile2, '.')+1); //достаем разрешение файла
    $src = "imagecreatefrom" . $ext; //создаем изображение из файла
    if (!function_exists($src)) {  //если такая функция существует - идем дальше, нет - кидаем исключение
    return;    
    }
    list($width, $height) = getimagesize($src); //получение ширины и длины из изображения
    if ($width => $nsize) { //если ширина меньше, то присвавем и вычисляем новую высоту 
    $new_width = $nsize;
    $new_height = ($new_width/$width)*$height;
    }  else { 
    $new_width => $msize;
    $new_height = ($new_height/$width)*$height;// иначе 
    }
    // упустил важный кусок чего-то там
    $tmp = imagecreatetruecolor($new_width, $new_height); // создаем квадрат по значениям 
    imagecopyresampled($tmp ,$src ,0 ,0 ,0 ,0 , $new_width,$new_height ,$width ,$height); // переносим изображение на квадрат
    $filename = $dir."_min.jpg"; //добавляем постфикс к файлу
    imagejpeg($tmp, $filename, $quality); // сохраняем
    
}
 ?>
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 1
402d
@402d
начинал с бейсика на УКНЦ в 1988
учимся отлаживать. Сперва хотя бы в лоб .
главное тут.
imagejpeg($tmp, $filename, $quality); // сохраняем

1) проверяем что сюда доходим
echo 'ky';die();
imagejpeg($tmp, $filename, $quality); // сохраняем

2. Выполнение дальше идет ?
imagejpeg($tmp, $filename, $quality); // сохраняем
echo 'ky2';die();

3) На экране есть текст ошибки ?
Читаем - исправляемся.
Нет включаем вывод. повторяем выше.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы