代码之家  ›  专栏  ›  技术社区  ›  Prashanth kumar

多文件上载-更改文件基础隐藏元素的状态

  •  1
  • Prashanth kumar  · 技术社区  · 6 年前

    我正在尝试使用PHP上传多个文件,运行良好。现在在我的表单中,我将动态显示文件选项以及它所属的文档类型、简历、身份证明等。,

    这是我的表格代码-

    <table class="table striped bordered border hoverable white">
      <?php
        $returnMsg = "";
        $docsNStatus="SELECT * FROM applicantdocs where username = '$login_session' and docStatus='Not Received'";
        if(!$result=mysqli_query($db,$docsNStatus))
          die('There was an error retrieving the information');
    
        echo "<form method='POST' action='../../actionHandler.php' enctype='multipart/form-data' target='resultFrame'>";
    
        while ( $row = $result->fetch_assoc() ){
          $uploadFileName = "fileUpload".$row['sno'];
          $docID = $row['sno'];
          echo "<tr>
            <td>".$row['docName']."</td>
            <td>".$row['docStatus']."</td>
            <td>
            <input type='hidden' name='docNumber' value='$docID'/>
            <input type='hidden' name ='docNumber_$docID' value='$docID'/> //Here I am dynamically setting the hidden element docnumber and the id 
            <label style= 'padding: 5px!important;' class='myLabel'>
                <input type='file' name='uploadingFiles[]' id='uploadBtn'/>
                <span>Upload doc</span>
            </label>
    
            </td></tr>";
        }
    
        echo "</table><br/><input type='submit' name ='uploadFile' value='Click here to upload files' class='formButton'/> ";
      ?>
    

    PHP代码:

    if(isset($_POST["uploadFile"])){     
    
        $userIDquery = "SELECT firstName, lastName from applicants WHERE username= \"{$login_session}\"";
        $userRes= mysqli_query($db, $userIDquery);
        $userRec= mysqli_fetch_array($userRes, MYSQLI_ASSOC);
        $lName = $userRec["firstName"].'_'.$userRec["lastName"];
    
        $storageLocation = "Assets/Documents/".$lName."/";
    
        $errors = array();
        $extension = array('jpg','png','jpeg','gif','pdf'); 
    
        $bytes = 1024;
        $allowedMB = 10;
        $totalBytes = $allowedMB * $bytes * 1024;
    
        foreach($_FILES["uploadingFiles"]["tmp_name"] as $key=>$tmp_name) {
    
            $docNo = mysqli_real_escape_string($db, $_POST["docNumber"]);
            $onlyDocNumToUpdate = mysqli_real_escape_string($db, $_POST["docNumber_".$docNo]);
    
            $uploadThisFile = true;
    
            $file_name=$_FILES["uploadingFiles"]["name"][$key];
            $file_tmp=$_FILES["uploadingFiles"]["tmp_name"][$key];
    
            $ext=pathinfo($file_name,PATHINFO_EXTENSION);
    
            if(!in_array(strtolower($ext),$extension)) {
                array_push($errors, "File type is invalid. Name:- ".$file_name);
                $uploadThisFile = false;
            }
    
            if($_FILES["uploadingFiles"]["size"][$key] > $totalBytes) {
                array_push($errors, "File size must be less than 10MB. Name:- ".$file_name);
                $uploadThisFile = false;
            }
    
            if($uploadThisFile){
                $filename=basename($file_name,$ext);
                $newFileName=$filename.$ext;                
                if(move_uploaded_file($_FILES["uploadingFiles"]["tmp_name"][$key], $storageLocation.$newFileName)){
                    $query = "UPDATE applicantdocs set docStatus ='Received' 
                    where username = '$login_session' 
                    and sno=$onlyDocNumToUpdate";
    
                    if(!mysqli_query($db, $query)){
                        print '<br><b style="color:#B60000">Exception:</b> ';
                        throw new Exception(showerror($db));
                    } else
                        print "The selected files have been uploaded successfully.";    
                }
            }
        }
    
        mysqli_close($db);
        $count = count($errors);
        if($count != 0){
            foreach($errors as $error){
                echo $error."<br/>";
            }
        }       
    }
    

    enter image description here

    谢谢你看一下。

    0 回复  |  直到 6 年前
    推荐文章