Помогите новичку, пожалуйста. В общем в кратце, Пользователь добавляет фото и я пытаюсь его обрезать с шириной 1050 сохраняя пропорции. Но функция getimagesize возвращает ошибку "getimagesize( temp/maxresdefault.jpg): failed to open stream: Invalid argument in..". Функцию взял с примера в интернете. По гуглу я не нашел, что означает эта ошибка.
function crop($url, $x_o, $y_o, $w_o, $h_o) {
if (($x_o < 0) || ($y_o < 0) || ($w_o < 0) || ($h_o < 0)) {
echo "Некорректные входные параметры";
return false;
}
if (($w_o < 500) || ($h_o < 500)){
echo "Разрешение фото слишком мало";
}
list($w_i, $h_i, $type) = getimagesize($url); // Получаем размеры и тип изображения (число)
$types = array("jpg", "gif", "jpeg", "png"); // Массив с типами изображений
$ext = $types[$type]; // Зная "числовой" тип изображения, узнаём название типа
if ($ext) {
$func = 'imagecreatefrom'.$ext; // Получаем название функции, соответствующую типу, для создания изображения
$img_i = $func($url); // Создаём дескриптор для работы с исходным изображением
} else {
echo 'Некорректное изображение'; // Выводим ошибку, если формат изображения недопустимый
echo $url; // Выводим ошибку, если формат изображения недопустимый
return false;
}
if ($x_o + $w_o > $w_i) $w_o = $w_i - $x_o; // Если ширина выходного изображения больше исходного (с учётом x_o), то уменьшаем её
if ($y_o + $h_o > $h_i) $h_o = $h_i - $y_o; // Если высота выходного изображения больше исходного (с учётом y_o), то уменьшаем её
$img_o = imagecreatetruecolor($w_o, $h_o); // Создаём дескриптор для выходного изображения
imagecopy($img_o, $img_i, 0, 0, $x_o, $y_o, $w_o, $h_o); // Переносим часть изображения из исходного в выходное
$func = 'image'.$ext; // Получаем функция для сохранения результата
return $func($img_o, $url); // Сохраняем изображение в тот же файл, что и исходное, возвращая результат этой операции
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как мне преобразовать числа string в double через atof сразу в массив?
Знаю, что если есть абстрактный клас(например: Account) и наследники абстрактного класа(PrivelegeAccount, SavingAccount), то можно через указатель на родительский...
Выскакивает вот такая ошибка, когда нажимаю Отладка -> Запустить без отладки Как решить эту проблему?