я получаю сообщение об ошибке при попытке загрузить файл? - PullRequest
1 голос
/ 03 января 2011

Я получаю сообщение об ошибке: Уведомление : неопределенный индекс: on line 35

строка 35:

 $handle = new Upload($_FILES['my_field']);

это мое поле ввода

 <input type="file" size="32" name="my_field" value="" />

Я не понимаю эту ошибку, спасибо !!!

РЕДАКТИРОВАТЬ:

 <form name="upload" id="upload" enctype="multipart/form-data" method="post" action="actions/upload.php" />
 <p><input type="file" size="32" name="my_field" value="" /></p>
 <p class="button"><input type="hidden" name="action" value="image" />
 <br>
 <input style="margin-left:224px;" type="submit" name="submit" value="upload" />

Ответы [ 3 ]

2 голосов
/ 03 января 2011

Обновление: Оператор выполняет запрос Ajax - что явно не может работать с загрузкой файла.

Старый ответ:

Я думаю, что нашел это.

Посмотрите внимательно на этот тег:

 <form name="upload" id="upload" enctype="multipart/form-data" method="post"
 action="actions/upload.php" />

закрытие /> закрывает форму. Все, что приходит после, находится не внутри этой формы - оно внутри новой, которую браузер, вероятно, генерирует, чтобы справиться со сломанной разметкой. Эта новая форма не enctype=multipart/form-data.

2 голосов
/ 03 января 2011

Использовали ли вы enctype="multipart/form-data" для элемента формы?

Кажется, это единственная причина, по которой ключ my_field не установлен на $_FILES.

Править: Если ваш файл больше post_max_size, вы также получите пустой массив $_FILES.

См. Также: Apache / PHP: $ _FILES Массив с загадочной пустотой

0 голосов
/ 03 января 2011

Для того, чтобы загрузить WITH ajax-представление, вы можете использовать IFRAME с частью загрузки.

  1. Отправить ajax-форму для отправки
  2. Используя javascript-триггер submit () назагрузить форму в IFRAME
  3. Пусть возвращающаяся страница в iframe вызывает функцию полного ответа javascript на главной странице

Немного сложно, но сработает.Вам понадобится какой-то механизм, чтобы связать их вместе, например, если вы отправляете информацию об изображении, сделайте шаг 1, возвращающий идентификатор строки базы данных, где хранится эта информация, чтобы форма загрузки IFRAME могла представить этот идентификатор, чтобы он знал, гдехранить картинку.

...