2016-08-04 166 views
0

我有一個簡單的腳本來上傳視頻。它可以很好地處理16mb的文件,但文件比沒有上傳的文件大。我在xampp localhost上使用它。不能上傳大文件

我試過改變post_max_size和upload_max_size上的值,但它沒有' t工作。

上傳大文件時,什麼也沒有發生,代碼不執行如果其他部分都沒有。請看下面的代碼:

if(isset($_POST['upload_btn'])) 
{ 

    $q3="select uid from user_profile where username='$uname'"; 
    $row=mysql_fetch_assoc(mysql_query($q3)); 
    $id=$row['uid']; 

    $name=$_FILES['file']['name']; 
    $desc=$_POST['vid_desc']; 

    $type_temp=$_FILES['file']['type']; 
    $type=substr($type_temp,-3); 

    $size=$_FILES['file']['size']/1024/1024; 

    $temp=$_FILES['file']['tmp_name']; 

    if($_POST['vid_title']=="") 
    { 
     $name=$_FILES['file']['name']; 
    } 
    else 
    { 
     $_FILES['file']['name']=$_POST['vid_title']; 
     $name=$_FILES['file']['name'].".".$type; 
    } 

    if($_FILES['file']['type']=="video/mp4"||$_FILES['file']['type']=="video/flv"||$_FILES['file']['type']=="video/avi"&&$_FILES['file']['size']>=0) 
    { 

     $row=mysql_fetch_assoc(mysql_query("select uid from user_profile where username='$uname'")); 
     $uid=$row['uid']; 

     $query="insert into video_info(vid_title,vid_desc,vid_type,vid_size,uid) values('$name','$desc','$type','$size',$uid)"; 
     mysql_query($query); 

     move_uploaded_file($temp,"videos/".$name); 

     ?> 
     <script type="text/javascript"> 
     document.getElementById("success").innerHTML = "Video uploaded successfully!!!"; 
     //alert("Video uploaded successfully!!!");</script> 
     <?php 
    } 
    else 
    { 
     ?> 
     <script type="text/javascript"> 
     document.getElementById("error").innerHTML = "<style='color:red;'>Format not supported!! Supported formats are .mp4, .flv, .avi"; 
     //alert("");</script> 
     <?php 
    } 

} 

謝謝,希望有人能幫我弄清楚這個問題。

+0

然後檢查錯誤代碼。 –

+0

兩個錯誤代碼都未被執行。 –

+0

'document.getElementById(「error」)'這不是我說的,我的意思是這個http://php.net/manual/en/features.file-upload.errors.php –

回答

1

檢查你的php.ini文件,你應該有2,一個用於CLI另一個用於Apache(如果這是你的堆棧)。從你的問題來看,你只編輯了一個php.ini文件。編輯它們以滿足您的需求。您應該編輯的值爲:

upload_max_filesize = 10M 

更改爲任何您需要的值。編輯後

Maximum number of files that can be uploaded via a single request 
max_file_uploads = 20 

重新啓動Apache:另外,這個設置你可能會感興趣。

+4

___爲了將來的參考__ max_upload_filesize使用的空間是'post_max_size'的一部分,所以當你增加'max_upload_filesize'確保'post_max_size'大於'max_upload_filesize'。因爲你還需要允許其他''字段使用的空間'

'還有'max_input_time'可能需要查看是否涉及很多或大型文件 – RiggsFolly

+0

@visualex非常感謝!!它確實解決了我的問題。 –

+0

@NathaOdedara真棒,拿考慮到細節評論裏格斯 – visualex