многократное использование файла типа ввода с отдельной кнопкой отправки - PullRequest
0 голосов
/ 21 июня 2020

Следующий код отлично подходит для просмотра и загрузки одного файла. Но я хочу использовать поле ввода нескольких файлов и отдельную отправку с индикатором выполнения для каждого из них (можно использовать a для l oop). Скриншот желаемого результата прилагается. Пожалуйста, помогите мне в этом отношении.

enter image description here

This is index.html

    <!DOCTYPE html>
    
    
 
    function _(el)
    {
       return document.getElementById(el);
    }
    function uploadFile()
    {
       var file = _("file1").files[0];
       // alert(file.name+" | "+file.size+" | "+file.type);
       var formdata = new FormData();
       formdata.append("file1", file);
       var ajax = new XMLHttpRequest();
       ajax.upload.addEventListener("progress", progressHandler, false);
       ajax.addEventListener("load", completeHandler, false);
       ajax.addEventListener("error", errorHandler, false);
       ajax.addEventListener("abort", abortHandler, false);
       ajax.open("POST", "file_upload_parser.php");
       ajax.send(formdata);
     }
     function progressHandler(event)
     {
       _("loaded_n_total").innerHTML = "Uploaded "+event.loaded+" bytes of "+event.total;
       var percent = (event.loaded / event.total) * 100;
       _("progressBar").value = Math.round(percent);
       _("status").innerHTML = Math.round(percent)+"% uploaded... please wait";
     }
     function completeHandler(event)
     {
      _("status").innerHTML = event.target.responseText;
      _("progressBar").value = 0;
     }
     function errorHandler(event)
     {
      _("status").innerHTML = "Upload Failed";
      }
      function abortHandler(event)
     {
      _("status").innerHTML = "Upload Aborted";
     }
     
     
     
        
      

Это file_upload_parser. php

<?php
$fileName = $_FILES["file1"]["name"]; // The file name
$fileTmpLoc = $_FILES["file1"]["tmp_name"]; // File in the PHP tmp folder
$fileType = $_FILES["file1"]["type"]; // The type of file it is
$fileSize = $_FILES["file1"]["size"]; // File size in bytes
$fileErrorMsg = $_FILES["file1"]["error"]; // 0 for false... and 1 for true
if (!$fileTmpLoc) { // if file not chosen
echo "ERROR: Please browse for a file before clicking the upload button.";
exit();
}
if(move_uploaded_file($fileTmpLoc, "uploads/$fileName")){
echo "$fileName upload is complete";
 } else {
echo "move_uploaded_file function failed";
}
 ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...