我需要上传一个大文件(最多190mb) 以下是限制的服务器详细信息:
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 :(得分:1)
它不仅仅是php.ini,而且服务器也可以限制你的请求大小。虽然在apache默认情况下它没有设置为限制文件大小,但我认为你应该检查一次。 LimitRequestBody指令用于限制请求大小。检查所有配置文件中的指令(我假设您使用的是apache)并更改目录的值。 样品用法:
<Directory "/var/www/vhost/mydir/uploads">
LimitRequestBody 204444344
</Directory>
答案 1 :(得分:0)
我建议使用一些大型文件上传器,例如http://www.uploadify.com/