Почему мой скрипт загрузки PHP не работает? - PullRequest
1 голос
/ 01 марта 2011

Я делаю простую работу с загрузкой файла.На данный момент я игнорирую проверку ошибок и исключений, чтобы мои загрузки работали.У меня есть эта HTML-форма:

<form action='addResult.php' method='post' enctype='multipart/form-data' target='results_iFrame' onsubmit='startUpload();'>
Entry: <input type='text' id='entry' />
Stop: <input type='text' id='stop' />
Final: <input type='text' id='final' />
Chart: <input type='file' id='chart' />
<input type='submit' value='Add' /></form>

Как вы можете видеть, она вызывает addResult.php внутри iFrame «results_iFrame».Javascript предназначен только для анимации и сообщает мне, когда все будет готово.addResult.php содержит этот код (вместе с обработкой других входных данных):

$upload_dir = "../img/";
$chart_loc = $upload_dir.basename($_FILES['chart']['name']);

move_uploaded_file($_FILES['chart']['tmp_name'], $chart_loc);

print_r($_FILES);

Он использует ввод «диаграммы» из формы и пытается загрузить его.У меня есть функция print_r () для отображения некоторой информации о $ _FILES, но массив пуст, что делает этот сбой.Что я могу делать не так?

Ответы [ 5 ]

3 голосов
/ 01 марта 2011

При работе с формами, name= используется для ссылки на элементы на стороне сервера, а не id=.

Просто измените все эти атрибуты id на names s, и все хорошоидти (надеюсь).

1 голос
/ 01 марта 2011

Вы должны присвоить входным элементам name атрибуты, иначе они не будут переданы вашему сценарию.id используется для использования в DOM / браузере / на стороне клиента.

После устранения этой проблемы может возникнуть другая проблема, но это хороший первый шаг.

0 голосов
/ 01 марта 2011

Вам необходимо дать атрибутам названия полей формы имя

0 голосов
/ 01 марта 2011

Ваши входы не имеют атрибута "name", только идентификаторы.

0 голосов
/ 01 марта 2011

Попробуйте добавить атрибут name к вашим входным значениям следующим образом:

<input type='file' id='chart' name="myfile"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...