2017-06-09 114 views
0

我已經使用PHP創建了文件上傳。最大文件大小爲5MB。我試圖上傳一個39 MB的文件。文件上傳在PHP中無法正常工作

對於所有5MB或小於5MB的文件,文件上傳工作正常,它甚至可以在30 MB文件下正常工作,並返回ERROR:MAX文件大小限制超過。但只有在這種情況下39MB纔會返回下面的錯誤。

我越來越低於錯誤。 enter image description here

**action.php** 

     <form class="w3-container " action='file_upload.php' method='post' enctype="multipart/form-data" name="form" id="form-e" role="form"> 
      <DIV id="file_name_div"> 
      <label for="file_name">Enter file name: </label><br>      
      <input data-validation="filename" autocomplete="off" style="width:30%" class="w3-input w3-border w3-light-grey " type="text" name='file_name' id='file_name' autofocus /> 
<label for="Role">Enter Role: </label><br>      
      <input data-validation="role" style="width:30%" class="w3-input w3-border w3-light-grey " type="text" name='role' id='role' autofocus /> 
      </DIV> 
      <br> 
      <button type="reset" class="btn btn-info btn-md w3-blue"><span class="glyphicon glyphicon-refresh"></span> Reset</button> 
     </form> 

****file_upload.php**** 

     <?php 
     session_start(); 
     include_once 'config.php'; 
     $message = ''; 
     $fileName = $_POST['file_name']; //LINE NO 6 
     $role  = $_POST['role']; #role code //LINE NO 7 
     $dir= "files/$role/"; #uploading file to selected role 
     foreach ($_FILES as $filename => $filearray) { 
     if (is_uploaded_file($filearray['tmp_name'])) { 

      $fileLogicalName = $filearray['name']; 

      $fileSize = (int) ($filearray['size']/1024); 

      $filePhysicalName = pathinfo("$fileLogicalName"); //Return complete file name with extension 

      $filePhysicalName['filename']; //The arrray of pathinfo return only file name without extension 


      if ($fileSize <= 5120) // 5mb/1024 
       { 
//file upload code 
       } 
    } 
    } 
     ?> 

回答

0

嘗試更多尺寸添加到文件限制

ini_set('memory_limit','1028M'); 
ini_set('upload_max_filesize','1028M'); 
ini_set('post_max_siz','1028M');