2012-01-12 81 views
0

我需要上傳大文件(高達190MB) 這裏是服務器的詳細信息爲限:使用php上傳大文件?

memory_limit = 50M 
post_max_size = 192M 
file_uploads = On 
upload_max_filesize = 192M 
max_execution_time = 1800 sec 
max_input_time = 1800 sec 

這裏是我的代碼:

$query="update tbl_Cards set CardName='$cardname',Description='$Description'"; 
    if($cardvideo) 
    { 
     if($_FILES["cardvideo"]["type"] == "video/quicktime"||$_FILES["cardvideo"]["type"] == "video/mov"||$_FILES["cardvideo"]["type"] == "video/mp4"||$_FILES["cardvideo"]["type"] == "video/mpv"||$_FILES["cardvideo"]["type"] == "video/3gp") 
     { 
     if($_FILES["cardvideo"]["size"]<=10485760) 
     { 
      $cardvideo=$date."card.mp4"; 
      $tmppath3="services/video/".$cardvideo; 
      if(move_uploaded_file($_FILES['cardvideo']['tmp_name'],$tmppath3)) 
      { 
      $thumb=$date.".jpg"; 
      $thumbDirectory="services/VideoCapturePic/"; 
      exec("convert \"{$tmppath3}[0]\" -colorspace RGB -geometry 200 $thumbDirectory$thumb"); 
      $query.=",Video='$cardvideo',CapturePic='$thumb'"; 
     } 
     $query.="where CardId='$card'"; 

     $result=mysql_query($query); 
     if($result) 
     { 
     } else 
     { 
     echo mysql_error(); 
     } 

但是當我上傳10個MB的文件,他們上傳但是當我嘗試上傳大文件時(20或30或40或50),我得到以下回應:

Column count doesn't match value count at row 

我在做什麼錯?

+0

你做了什麼錯誤一些大文件上傳? – 2012-01-12 04:59:17

+0

請參閱我的問題 – 2012-01-12 05:09:47

+0

列計數與行數不匹配,這是我的錯誤消息 – 2012-01-12 05:10:34

回答

1

它不只是php.ini,但服務器也可以限制你的請求大小。雖然在默認情況下在Apache中沒有設置限制文件大小,但我認爲你應該檢查一次。 LimitRequestBody指令用於限制請求大小。檢查所有配置文件中的指令(我假設您使用的是Apache)並更改您的目錄的值。 示例用法:

<Directory "/var/www/vhost/mydir/uploads"> 
    LimitRequestBody 204444344 
</Directory> 
+0

我使用的FTP服務器連接 – 2012-01-12 05:40:36

+0

我如何檢查ftp的詳細限制在ftp – 2012-01-12 05:41:09

+0

嗨,我使用的是Linux服務器 – 2012-01-12 06:19:20