@AlexsandrLomaev

Как загрузить пользовательское изображение на сервер?

Прошерстив интернет, вижу методы и т.д, по в итоге не работает.

Есть input с type="file" name="file" пользователь выбирает локальное изображение.

Вопрос - как мне это изображение обработать? То есть, сохранить в каталог с изображениями img.
Пробовал сделать, ошибок не выдает, но и ничего не сохраняет в каталог.
Директория сайта HB/index.php а для сохранения пытался сделать HB/img/тут сохранять
  • Вопрос задан
  • 155 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега PHP
frontend developer
Пригласить эксперта
Ответы на вопрос 1
grantur5707
@grantur5707
Full Stack Web Developer
<form action="upload.php" method="post" enctype="multipart/form-data">
    <label for="file">Выберите изображение:</label>
    <input type="file" name="file" id="file" required>
    <button type="submit">Загрузить</button>
</form>


<?php
$target_dir = "img/";

$target_file = $target_dir . basename($_FILES["file"]["name"]);

$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
$check = getimagesize($_FILES["file"]["tmp_name"]);
if($check !== false) {
    if (file_exists($target_file)) {
        echo "Файл уже существует.";
    } else {
        if ($_FILES["file"]["size"] > 2000000) {
            echo "Файл слишком большой.";
        } else {
            $allowed_types = array('jpg', 'jpeg', 'png', 'gif');
            if (in_array($imageFileType, $allowed_types)) {
                move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)
            }
        }
    }
}
?>
Ответ написан
Ваш ответ на вопрос

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

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