2016-08-02 2 views
0

У меня есть страница, которая позволит мне загрузить файл CSV. Используя PHP, я затем беру содержимое CSV-файла и вставляю его в базу данных MySQL. Сейчас я делаю это без проблем. Тогда сегодня я попытался загрузить файл, и он не сработал. Проблема в том, что, похоже, не существует типа файла, связанного с файлом CSV. Например, на хорошей загрузке, отладочные сообщения я выплюнул выглядеть следующим образом:Тип файла отсутствует при загрузке файла

You uploaded a file: buylist_235.csv 
file type: application/vnd.ms-excel 
file size: 10456 

File is valid, and was successfully uploaded. Here is some more debugging info:Array (
     [csv] => Array 
      (
       [name] => buylist_235.csv 
       [type] => application/vnd.ms-excel 
       [tmp_name] => C:\xampp\tmp\php3C1E.tmp 
       [error] => 0 
       [size] => 10456 
      ) 
) 

Однако, когда я загрузить файл проблемы с сообщениями отладки на которые я заметил, тип файла и размер файла пуст.

You uploaded a file: buylist_235_1.csv 
file type: 
file size: 0 

Possible file upload attack! 
Here is some more debugging info:Array 
(
    [csv] => Array 
     (
      [name] => buylist_235_1.csv 
      [type] => 
      [tmp_name] => 
      [error] => 2 
      [size] => 0 
     ) 

) 

У кого-нибудь есть идеи, почему тип файла пуст? В проводнике Windows, если я нахожусь над любым из этих файлов, информационный шар над файлами говорит «Тип: файл Excel с разделителями ключей Microsoft Excel». Но во втором файле что-то не так, что заставляет мой PHP запугивать и не распознавать тип файла.

+0

Как выглядят файлы? –

+0

его стандартный файл CSV. Он имеет 7 столбцов, а затем число строк является переменной. Я установил MAX_FILE_SIZE в 30 КБ. Все предыдущие файлы были легко под этим. Этот файл был намного больше, около 70 КБ. Таким образом, сам файл был в порядке, это был плохой код HTML, как указывает Патрик ниже. – milnuts

ответ

5

Тип файла не является проблемой (я не думаю).

Вы увидите error код 2 был возвращен во время попытки загрузки файлов в вашем втором примере блока, и это не было написано на склад временного хранения (tmp_name пуст, size 0).

You uploaded a file: buylist_235_1.csv 
file type: 
file size: 0 

Possible file upload attack! 
Here is some more debugging info:Array 
(
    [csv] => Array 
     (
      [name] => buylist_235_1.csv 
      [type] => 
      [tmp_name] => 
      [error] => 2 
      [size] => 0 
     ) 

) 

Код ошибки 2: UPLOAD_ERR_FORM_SIZE: Загруженный файл превышает директиву MAX_FILE_SIZE, который был указан в HTML форме.

Откорректируйте это значение больше в вашей форме HTML.

+1

Спасибо! Размер был проблемой. Как только я увеличил его, загрузка работала нормально. – milnuts