2016-09-14 4 views
0

Я пытаюсь загрузить CSV-файл на сервер с формой, но я продолжаю получать сообщение об ошибке. Кто-нибудь сможет сказать мне, почему файл не хочет загружать.Загрузка CSV-файла на сервер

HTML код:

 <form action="upload.php" method="post" enctype="multipart/form-data"> 
      Select CSV file to upload 
      <input type="file" accept=".csv"> 
      <input type="submit" value="Upload File" name="submit"> 
     </form> 

PHP код:

<?php 
$target_dir = "uploads/"; 
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
$fileType = pathinfo($target_file,PATHINFO_EXTENSION); 

// Allow certain file formats 
if($fileType != "csv") { 
    echo "Sorry, only CSV files are allowed. "; 
} 
else { 
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
     echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
    } else { 
     echo "Sorry, there was an error uploading your file."; 
    } 
?> 
+1

Какая ошибка? –

+0

Вы никогда не беспокоились о том, была ли выполнена загрузка, не говоря уже о том, что это удалось. Вы просто ПРИНИМАЕТЕ, что ничто не может пойти не так. Таким образом, ваше перемещение завершилось неудачно, потому что ваша форма не имеет атрибута 'name' на входе файла, в результате чего загрузка не выполняется, а $ _FILES никогда не будет установлен. –

ответ

4

Вы не дали атрибут input название:

<input type="file" accept=".csv"> 

Должно быть:

<input type="file" name="fileToUpload" accept=".csv"> 

Теперь $_FILES["fileToUpload"] будет доступен в php, если нет никаких дополнительных проблем.

+1

Спасибо! Это решило проблему. – marcos

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