$ _ ФАЙЛЫ пустые при попытке загрузить файл

Это сводит меня с ума. Я пытаюсь выяснить, как загрузить файл. У меня есть два очень простых файла, но, похоже, они не работают. Это первый файл, который позволяет пользователю выбрать файл:

<html>
<head>
<title>File Upload Form</title>
</head>
<body>
This form allows you to upload a file to the server.<br>

<form action="getfile.php" method="post"><br>
Type (or select) Filename: <input type="file" name="uploadFile">
<input type="submit" value="Upload File">
</form>
</body>
</html>
</code>

Второй файл php, который его обрабатывает:

<html>
<head>
<title>Process Uploaded File</title>
</head>
<body>
<?php

print_r($_FILES);
print "<P>\n";

move_uploaded_file ($_FILES['uploadFile'] ['tmp_name'],
       "../blimages/site/7337/{$_FILES['uploadFile'] ['name']}")

?>
</body>
</html>

Поскольку - за исключением print_r - я вытащил их из Учебник веб-сайта о том, как сделать загрузку файла, я думаю, что эти файлы в порядке.

print_r ($ FILES) возвращают полностью пустой массив.

Я также проверил php.ini . Загрузка файлов разрешена, и максимальный размер составляет 2M, что, как я предполагаю, составляет 2 мегабайта, что намного больше, чем файл, который я пытался загрузить.

Что еще может быть не так?

Спасибо,

Шон.

8
задан Jim 20 January 2014 в 15:42
поделиться

3 ответа

Добавьте соответствующий атрибут enctype в свой тег формы :

<form action="getfile.php" method="post" enctype="multipart/form-data">

Это задокументировано здесь: http://www.php.net/manual/en/features.file-upload.post -method.php

Также убедитесь, что нет пробелов между скобками при доступе к многомерным массивам:

$_FILES['uploadFile']['tmp_name']
27
ответ дан 5 December 2019 в 05:54
поделиться

Добавьте это в тег формы

enctype = "multipart / form-data"

0
ответ дан 5 December 2019 в 05:54
поделиться

Вы должны использовать атрибут enctype = "multipart / form-data" в теге form .

1
ответ дан 5 December 2019 в 05:54
поделиться
Другие вопросы по тегам:

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