Это сводит меня с ума. Я пытаюсь выяснить, как загрузить файл. У меня есть два очень простых файла, но, похоже, они не работают. Это первый файл, который позволяет пользователю выбрать файл:
<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 мегабайта, что намного больше, чем файл, который я пытался загрузить.
Что еще может быть не так?
Спасибо,
Шон.
Добавьте соответствующий атрибут 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']
Добавьте это в тег формы
enctype = "multipart / form-data"
Вы должны использовать атрибут enctype = "multipart / form-data"
в теге form .