php写入文件限制长度,PHP上传文件大小限制解决方法

1. 在php.ini中,做如下修改:

file_uploads

= on

upload_tmp_dir = /home/upload

upload_max_filesize = 4000M

post_max_size = 4000M

一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。

但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得关心关心下面的参数:

max_execution_time = 600

max_input_time = 600

memory_limit

= 128M

2. 在要确认上传的

里加入以下行:

value="4000000000">

3. $_FILES["userfile"]["error"]返回值说明:

$_FILES['teacher_pic']['error'] =

1 文件大小超过了PHP.ini中的文件限制

$_FILES['teacher_pic']['error'] =

2 文件大小超过了浏览器限制

$_FILES['teacher_pic']['error'] =

3 文件部分被上传

$_FILES['teacher_pic']['error'] =

4 没有找到要上传的文件

$_FILES['teacher_pic']['error'] =

5 服务器临时文件夹丢失

$_FILES['teacher_pic']['error']

= 6 文件写入到临时文件夹出错

$_FILES['teacher_pic']['error']

= -1 末充许的类型

$_FILES['teacher_pic']['error'] =

-2 文件过大,上传文件不能超过{$this->maxSize}个字节

$_FILES['teacher_pic']['error'] =

-3 上传失败

$_FILES['teacher_pic']['error'] =

-4 建立存放上传文件目录失败,请重新指定上传目录

$_FILES['teacher_pic']['error'] =

-5 必须指定上传文件的路径

"upload_file.html":

Upload

File

enctype="multipart/form-data">

value="4000000000"/>

for="file">Filename:

/>

/>

"upload_file.php":

if ($_FILES["userfile"]["error"] > 0)

{

echo "Error: " . $_FILES["userfile"]["error"] .

"
";

}

else

{

echo "Upload: " . $_FILES["userfile"]["name"] .

"
";

echo "Type: " . $_FILES["userfile"]["type"] .

"
";

echo "Size: " . ($_FILES["userfile"]["size"] /

1024) . " Kb
";

echo "Stored in: " .

$_FILES["userfile"]["tmp_name"] . "

/>";

if (($_FILES["userfile"]["type"] ==

"application/x-linguist") ||

($_FILES["userfile"]["type"] == "video/vnd.dlna.mpeg-tts"))

{

move_uploaded_file ($_FILES["userfile"]["tmp_name"],

"../upload/video/" . $_FILES["userfile"]["name"]);

echo "Stored

in: " . "video/" . $_FILES["userfile"]["name"];

}

else if(($_FILES["userfile"]["type"] ==

"image/jpeg") ||

($_FILES["userfile"]["type"] == "image/pjpeg"))

{

move_uploaded_file ($_FILES["userfile"]["tmp_name"],

"../upload/picture/" . $_FILES["userfile"]["name"]);

echo "Stored

in: " . "picture/" . $_FILES["userfile"]["name"];

}

else

{

move_uploaded_file ($_FILES["userfile"]["tmp_name"],

"../upload/others/" . $_FILES["userfile"]["name"]);

echo "Stored

in: " . "others/" . $_FILES["userfile"]["name"];

}

}

?>

5. 经过反复测试,发现以这种方式上传文件最大可到2G,如果再大的文件就会失败了。而且上传大文件使用http的方式并不是最佳。如果一定要用,可以

Flash8 + PHP。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值