2016-11-14 72 views
0
<form action="upload.php" method="post" enctype="multipart/form-data"> 
     <table border="0"> 
      <tr> 
      <td>Select to upload:</td> 
      </tr> 
      <tr> 
      <td>Image *</td> 
      <td>File *</td> 
      <td>File 1 *</td> 
      <td>File 2 *</td> 
      <td>File 3</td> 
      <td>File 4</td> 
      </tr> 
      <tr> 
      <td><input type="file" name="image" multiple="multiple" ></td> 
      <td><input type="file" name="file1" multiple="multiple" ></td> 
      <td><input type="file" name="file2" multiple="multiple" ></td> 
      <td><input type="file" name="file3" multiple="multiple" ></td> 
      <td><input type="file" name="file4" multiple="multiple" ></td> 
      <td><input type="file" name="file5" multiple="multiple" ></td> 
      </tr> 
      <tr> 
      <i class="glyphicon glyphicon-upload"> 
       <td><input type="submit" value="Start Upload" name="submit"></td> 
      </i> 
      </tr> 
     </table> 
    </form> // Closes the new window. 

    <?php 
    include "dbConfig.php"; 
    session_start(); 
    if($_SESSION['username'] == ''){ 
     header('Location: user.php'); 
    } 
    if(isset($_POST["submit"])) { 
     $target_dir = "uploads/"; 
     $target_image = $target_dir . ($_SESSION['username'].'_'.basename($_FILES["image"]["name"])); 
     $target_file1 = $target_dir . ($_SESSION['username'].'_'.basename($_FILES["file1"]["name"])); 
     $target_file2 = $target_dir . ($_SESSION['username'].'_'.basename($_FILES["file2"]["name"])); 
     $target_file3 = $target_dir . ($_SESSION['username'].'_'.basename($_FILES["file3"]["name"])); 
     $target_file4 = $target_dir . ($_SESSION['username'].'_'.basename($_FILES["file4"]["name"])); 
     $target_file5 = $target_dir . ($_SESSION['username'].'_'.basename($_FILES["file5"]["name"])); 

     $uploadOk = 1; 
     $imageFileType = pathinfo($target_image,PATHINFO_EXTENSION); 


     if ($_FILES["image"]["size"] == 0 || $_FILES["file1"]["size"] == 0 ||$_FILES["file2"]["size"] == 0 || $_FILES["file3"]["size"] == 0) { 
      echo "You Must upload Fist 4 files <br>"; 
      $uploadOk = 0;} 
else{ 
      if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" 
      && $imageFileType != "gif") { 
       echo "<center><h2>Sorry, only JPG, JPEG, PNG & GIF files are allowed for Image.<br></center></h2>"; 
       $uploadOk = 0; 
      } 
      if ($uploadOk == 0) { 
       echo "<center><h2>Sorry, your file was not uploaded.</center></h2>"; 
      } else { 
       if (move_uploaded_file($_FILES["image"]["tmp_name"], $target_image) && move_uploaded_file($_FILES["file1"]["tmp_name"], $target_file1) && move_uploaded_file($_FILES["file2"]["tmp_name"], $target_file2) && move_uploaded_file($_FILES["file3"]["tmp_name"], $target_file3)) { 

        $img = $_SESSION['username']."_".basename($_FILES["image"]["name"]); 
        $file1 = $_SESSION['username']."_".basename($_FILES["file1"]["name"]); 
        $file2 = $_SESSION['username']."_".basename($_FILES["file2"]["name"]); 
        $file3 = $_SESSION['username']."_".basename($_FILES["file3"]["name"]); 
        if($_FILES["file4"]["size"] == 0){ 
          $file4 = ''; 
        }else{ 
          move_uploaded_file($_FILES["file4"]["tmp_name"], $target_file4); 
          $file4 = $_SESSION['username']."_".basename($_FILES["file4"]["name"]); 
        } 
        if($_FILES["file5"]["size"] == 0){ 
          $file5 = ''; 
        }else{ 
          move_uploaded_file($_FILES["file5"]["tmp_name"], $target_file5); 
          $file5 = $_SESSION['username']."_".basename($_FILES["file5"]["name"]); 
        } 
        $sql = "INSERT INTO user_data(name, image, file1, file2, file3, file4, file5) VALUES ('".$_SESSION['username']."','".$img."','".$file1."','".$file2."','".$file3."','".$file4."','".$file5."')"; 
        $query = mysql_query($sql); 
        echo "The file has been uploaded."; 

       } else { 
        echo "Sorry, there was an error uploading your file."; 
       } 
      } 
     } 
    } 
    ?> 
+0

我无法上传多个文件,请帮我更新我的代码。 –

+0

可以很好地格式化你的代码人 –

+0

可能重复的[PHP的 - 上传多个图像](http://stackoverflow.com/questions/7712715/php-upload-multiple-images) –

回答

0

我建议使用函数/循环将所有文件上传到目录。 答案仍然没有检查错别字 - 也许你看看它,并测试它是否适合。

if (count($_FILES) > 0) 
{ 
    // initialize check and Error output 
    $ok = true; 
    $_SERVER['error_message'] = ''; 

    // check count of uploads is ok 
    if (count($_FILES) != 6 || !in_array(array_keys($_FILES), 'image')) 
    { 
     $_SERVER['error_message'] .= 'too few files uploaded<br />'; 
     $ok = false; 
    } 

    // if still ok check all uploads 
    if ($ok) foreach ($_FILES as $name => $myFile) 
    { 
     // keep false so $ok && 
     $ok = $ok && checkfile($name, $myFile) 
    } 

    // if still ok upload all files 
    if ($ok) foreach ($_FILES as $name => $myFile) 
    { 
     // No need for basename as the name will only be the filename (the path is not submitted by uploading a file - maybe to check php reference if it is) 
     move_uploaded_file($myFile["tmp_name"], 'uploads/'.$_SESSION['username'].'_'.$myFile["name"]); 
    } 
} 
function checkfile($name, $myFile) 
{ 
    // check general uploaderrors 
    switch ($myFile['error']) 
    { 
     case UPLOAD_ERR_OK: 
    break; 
     case UPLOAD_ERR_NO_FILE: 
      $_SERVER['error_message'] .= $name . ' contains no file<br />'; 
      return false; 
    break; 
     case UPLOAD_ERR_INI_SIZE: 
     case UPLOAD_ERR_FORM_SIZE: 
      $_SERVER['error_message'] .= $name . ' exceeded filesize<br />'; 
      return false; 
    break; 
     default: 
      $_SERVER['error_message'] .= $name . ' unknown errors in fileupload<br />'; 
      return false; 
    break; 
    } 

    // check minimum filesize (here 0) 
    if ($myFile['size'] <= 0) $_SERVER['error_message'] .= $name . ' need to be larger than 0 bytes<br />'; 

    // check each filetype and "unknown" uploads like having a otherfile25 that is not expected from the form 
    switch ($name) 
    { 
     case 'image': 
      if (!in_array(substr($myFile['name'], -4), array('.png', '.jpg')) 
      { 
       $_SERVER['error_message'] .= $name . ' need to a png or jpg image<br />'; 
       return false; 
      } 
    break; 
     case 'file1': 
     case 'file2': 
     case 'file3': 
     case 'file4': 
     case 'file5': 
      if (!in_array(substr($myFile['name'], -4), array('.xls')) 
      { 
       $_SERVER['error_message'] .= $name . ' need to a xls file<br />'; 
       return false; 
      } 
    break; 
     default: 
      $_SERVER['error_message'] .= 'unknown file ' . $name . '<br />'; 
      return false; 
    break; 
    } 
    return true; 
} 
相关问题