Как сформировать компактный код загрузки аватарки?

Для загрузки аватарки в PHP можно использовать следующий компактный код:

if(isset($_FILES['avatar'])){
    $errors = array();
    $file_name = $_FILES['avatar']['name'];
    $file_size = $_FILES['avatar']['size'];
    $file_tmp = $_FILES['avatar']['tmp_name'];
    $file_type = $_FILES['avatar']['type'];
    $file_ext = strtolower(end(explode('.',$_FILES['avatar']['name'])));
    
    $extensions = array("jpeg","jpg","png");
    
    if(in_array($file_ext,$extensions) === false){
        $errors[] = "Расширение файла запрещено, выберите jpeg, jpg или png.";
    }
    
    if($file_size > 2097152){
        $errors[] = 'Размер файла не должен превышать 2МБ.';
    }
    
    if(empty($errors) == true){
        move_uploaded_file($file_tmp,"uploads/".$file_name);
        echo "Файл успешно загружен.";
    }else{
        print_r($errors);
    }
}

Давайте разберем этот код поэтапно:

1. Проверяем, было ли что-то загружено в поле "avatar" формы с помощью функции isset($_FILES['avatar']). Если была загрузка, то выполняем код, в противном случае пропускаем его.

2. Создаем массив $errors для хранения возможных ошибок при загрузке файла.

3. Получаем различные свойства файла - его имя, размер, временное имя и тип.

4. Получаем расширение файла, приводим его к нижнему регистру и сохраняем в переменной $file_ext.

5. Создаем массив разрешенных расширений файлов - в данном случае "jpeg", "jpg" и "png".

6. Проверяем, соответствует ли расширение файла разрешенным расширениям. Если нет, добавляем в массив $errors сообщение об ошибке.

7. Проверяем размер файла. Если он превышает 2МБ, добавляем в массив $errors сообщение об ошибке.

8. Если в массиве $errors нет ошибок (проверяем его на пустоту с помощью функции empty()), то перемещаем загруженный файл из временной директории в указанную директорию "uploads" с сохранением его оригинального имени.

9. Если в массиве $errors есть ошибки, выводим их с помощью функции print_r().