2014-01-23 7 views
-1

У меня была загрузка файлов, работающая отлично этим утром, и сделала пару тестовых загрузок, используя небольшие файлы csv, но когда я сделал еще один тест, он прекратил работать.Загрузка файла PHP внезапно перестала работать

var_dump of $ _FILES ['file'] является NULL и пытается, если ($ _ FILES) ничего не производит. Никто другой не использует мой сервер, поэтому я знаю, что ничего не изменилось. Вот моя форма, которая публикуется на той же странице.

<form method="post" enctype="multipart/form-data" style="border:1px solid #999"> 
       <input type="file"> 
       <input type="hidden" name="customerID" value="<?=$_GET['customerID']?>"> 
       <input type="submit" value="Import"> 
      </form> 

Php обработчик:

if($_FILES) 
{ 
    if ($_FILES["file"]["error"] > 0) 
    { 
     echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; 
    } 
    else 
    { 
     $path = "files/".$_POST['customerID']."/"; 

     echo $path."<br>"; 

     if(!file_exists($path)) mkdir($path); 

     $path = $path.basename($_FILES['file']['name']); 

     echo $path."<br>".$_FILES['file']['tmp_name']."<br>"; 

     if(is_uploaded_file($_FILES['file']['tmp_name'])) 
     { 
      if(move_uploaded_file($_FILES['file']['tmp_name'], $path)) echo "Upload success"; 

      else echo "Upload failed"; 
     } 
     else echo "No temp file"; 
    } 
+0

Вы также должны показать нам свой PHP-обработчик. Однако вам может понадобиться 'name' ваш' 'который кажется наиболее вероятной причиной, не видя полного кода. –

+0

Вы на платформе с общим хостингом? GoDaddy, HostGator? 'echo ini_get ('upload_max_filesize'). '
'.ini_get (' post_max_size '); '. Также проверьте вкладку в сети консоли (F12), чтобы увидеть, что там что-то не работает. – MonkeyZeus

+0

php handler on there now, это то же самое, что и раньше, чем работало, у меня также не было атрибута name – swdee

ответ

0

Вы должны были изменить что-то ... потому что $ _FILES [ 'файл'] должно быть определено в коде вы дали. Ни один файл не отправляется большинством браузеров в том случае, если входной файл не имеет атрибута имени в HTML-форме.

Просто измените:

<input type="file">

в

<input type="file" name="file">

+0

Вы правы, вот и все, подумал я у него не было этого раньше, но, должно быть, это было сделано, спасибо всем. – swdee

+0

15:21:54 <моя метка --- 15:22:29 твоя. ;-) –

+0

Извините, не моя вина. Я писал это, когда вы прокомментировали. Еще не комментировали свой комментарий. Я не из тех, кто интересуется пунктами. Просто хотел помочь. –

0

Вы должны добавить "имя" атрибут вашего <input type="file">. Имя, которое вы укажете на вход, будет индексом элемента массива в $ _FILES, который содержит данные загруженного файла.

Смежные вопросы