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