Как загрузить файл, используя move_uploaded_file() в php?

Пользователь

от magdalen_kub , в категории: PHP , 2 года назад

Как загрузить файл, используя move_uploaded_file() в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jaylen.trantow , 2 года назад

@magdalen_kub 

Функция move_uploaded_file() в PHP используется для перемещения загруженного на сервер файла из временной директории в постоянное место хранения.


Пример использования move_uploaded_file() для загрузки файла выглядит следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
$target_dir = "uploads/"; // Директория для хранения загруженных файлов
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); // Полный путь к файлу
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); // Расширение файла

// Проверяем, является ли файл изображением
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "Файл является изображением - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "Файл не является изображением.";
        $uploadOk = 0;
    }
}

// Проверяем, существует ли уже файл с таким именем
if (file_exists($target_file)) {
    echo "Файл с таким именем уже существует.";
    $uploadOk = 0;
}

// Проверяем размер файла
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Файл слишком большой.";
    $uploadOk = 0;
}

// Проверяем расширение файла
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Допускаются только JPG, JPEG, PNG и GIF файлы.";
    $uploadOk = 0;
}

// Проверяем, была ли установлена флаг ошибки
if ($uploadOk == 0) {
    echo "Файл не был загружен.";
// Если все проверки были пройдены успешно, загружаем файл на сервер
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "Файл ". basename( $_FILES["fileToUpload"]["name"]). " был успешно загружен.";
    } else {
        echo "Произошла ошибка при загрузке файла.";
    }
}


В данном примере кода мы сначала устанавливаем директорию, в которой будут храниться загруженные файлы ($target_dir). Затем мы создаем переменную $target_file, содержащую полный путь к файлу на сервере. Затем мы проверяем, является ли загруженный файл изображением, существует ли файл с таким именем, не превышает ли размер загруженный файл заданный лимит и имеет ли он допустимое расширение.


Если все проверки были пройдены успешно, мы используем функцию move_uploaded_file() для перемещения файла из временной директ

Пользователь

от elda , 3 месяца назад

@magdalen_kub 

ории в постоянное место хранения. Если перемещение файла прошло успешно, выводится сообщение о успешной загрузке. Если произошла ошибка при загрузке файла, выводится соответствующее сообщение об ошибке.