php - Multile upload to folders -


i trying upload multiple files creating folder according serial number , saving files in them. codes below :

html code multiple uploads:

 <div class="form-inline clearfix">             <label class="col-md-5">select file upload:</label>                 <div class="col-md-4">                     <input type="file" name="myfile[]" id="uploaded_file" multiple="multiple"/>                  </div>  </div><br/> 

php code multiple uploads

if (count($_files["myfile"]) > 0) {     ($i = 0; $i < count($_files["myfile"]["name"]); $i++)      {         foreach ($_files["myfile"]["error"][$i] $key => $error) {             if ($error == upload_err_ok) {                  $structure = "uploads/systemconfiguration/$formno"; //formno serial number queried database                 if (!mkdir($structure, 0777, true))                 {                     die('failed create folders...');                 }                 $tmp_name = $_files["myfile"]["tmp_name"][$i][$key];                 $name = $_files["myfile"]["name"][$i][$key];                 $target = $target .'/' .$_files['myfile']['name'][$i] ;                  $filepath=$_files['myfile']['name'][$i] ;                 if(move_uploaded_file($tmp_name,"$structure/$name"))                  {                      echo "<center>the file ". basename( $_files['myfile']['name'][$i]). " has been uploaded.</center>";                  }                  else                  {                      echo "no file uploaded";                  }              }         }     } } 

even though upload multiple files, last file being saved in directory. how can modify code can upload multiple files? appreciate :)

this possible in html5. example (php 5.4):

<!doctype html> <html>     <head>         <title>test</title>     </head>     <body>         <form method="post" enctype="multipart/form-data">             <input type="text" name="filename">             <input type="file" name="my_file[]" multiple>             <input type="submit" value="upload">         </form>         <?php             if (isset($_files['my_file'])) {                 $myfile = $_files['my_file'];                 $filecount = count($myfile["name"]);                 $filename=$_post['filename'];                 $structure = "uploads/systemconfiguration/$filename";                 if (!mkdir($structure, 0777, true))                 {                  die('failed create folders...');                 }                  ($i = 0; $i < $filecount; $i++) {                 $name = $_files["my_file"]["name"][$i];                 $tmp_name=$_files["my_file"]["tmp_name"][$i];                 move_uploaded_file($tmp_name,"$structure/$name");                     ?>                         <p>file #<?= $i+1 ?>:</p>                         <p>                             name: <?= $myfile["name"][$i] ?><br>                             temporary file: <?= $myfile["tmp_name"][$i] ?><br>                             type: <?= $myfile["type"][$i] ?><br>                             size: <?= $myfile["size"][$i] ?><br>                             error: <?= $myfile["error"][$i] ?><br>                         </p>                     <?php                 }             }         ?>     </body> </html> 

here's looks in chrome after selecting 2 items in file dialog:

chrome multiple file select

and here's looks after clicking "upload" button.

submitting multiple files php

this sketch of working answer. see php manual: handling file uploads more information on proper, secure handling of file uploads in php.


Comments