Я создаю сайт, на котором администратор должен иметь возможность загружать изображения. Если изображение больше 2 МБ, оно не будет выполнено из-за ограничения. Но даже если бы не было ограничений, все равно было бы лучше изменить размер изображения из-за времени загрузки для посетителей.PHP изменить размер перед загрузкой
Изображение никогда не должно быть шире 800 пикселей, высота не имеет значения, потому что он никогда не будет большим. Теперь я хочу изменить размер изображения так, чтобы ширина была 800 пикселей или ниже, а высота была изменена таким же соотношением.
То, что я сейчас следующее:
if (!empty($_FILES))
{
$upload_dir = 'photos';
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = dirname(__FILE__) . DIRECTORY_SEPARATOR . $upload_dir . DIRECTORY_SEPARATOR;
$mainFile = $targetPath . time() . '-' . $_FILES['file']['name'];
list($w, $h) = getimagesize($tempFile);
if ($w > 800)
{
$ratio = 800/$w;
$newHeight = $ratio * $h;
$tempFile = imagescale($tempFile, 800);
}
move_uploaded_file($tempFile, $mainFile);
}
, но это ничего не делать.
Я использую dropzone с этим скриптом в качестве цели для ввода изображения.
Может кто-нибудь указать мне в правильном направлении? Или PHP уже пытался загрузить изображение, когда оно находится в $_FILES
? Если это так, я не знаю, как его решить. Затем он должен быть изменен до dropzone вызывает этот скрипт.