LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1324|回复: 4

文件上传时怎么计算上传文件大小的限制

[复制链接]
发表于 2003-6-17 17:28:16 | 显示全部楼层 |阅读模式
各位老兄,请帮我看看关于这样的一个问题:
我的系统是RH9用的浏览器是mozilla1.4b.
apache是2.0.40 php版本是:4.2.2我写了下面的代码:
<html>
<head>
<title>文件上传的例子</title>
</head>
<?php
if($myfile == "")
{
?>
<form method=post action=<?php echo $PHP_SELF;?> enctype=multipart/form-data>
<input type=hidden name=MAX_FILE_SIZE value=2000000>
<p align=center>请选择你要上传的文件:<input type=file name=myfile><input type=submit value=确定>
<input type=reset value=取消></p>
</form>
<?php
}
else
{
echo $myfile."<br>\n";
echo "原文件名:".$myfile_name."<br>\n";
echo "文件大小:".$myfile_size."<br>\n";
$myfile1 = "../upload/".basename($myfile);
echo $myfile1;
if(!copy($myfile, $myfile1))
{
echo "上传文件失败!";
}
else
{
echo "上传文件成功!";
}
}
?>
</html>
</body>

这里的设置的变量 MAX_FILE_SIZE好像设置得没有效呀。上传一个1.9M的东东就提示浏览器就提示文档中没有数据。
上传一个小点的文章就可以。但是我的php.ini中post_size=8M, upload_file_max=2m呀,max_execution_time = 600 应该说可以上传呀。

这是为什么呢?它的可以上传文件的大小应该怎么来计算呢?
发表于 2003-6-18 00:35:50 | 显示全部楼层
你的 encode-type 是 multi-part/formdata, 世纪传输的长度比文件本身的大的。
发表于 2003-6-20 15:36:41 | 显示全部楼层
1.9M = 1.9 X 1024 X 1024 = 1992294.4B
相信你说的上传的1.9M的东东肯定比1.9M稍微大一点点,但这就就超过你指定的大小了。
偶瞎蒙的,不知道对不对,呵呵……
发表于 2003-6-20 16:56:31 | 显示全部楼层

关于错误信息的解释

从 PHP 4.2.0 开始,PHP 将随文件信息数组一起返回一个对应的错误代码。该代码可以在文件上传时生成的文件数组中的 ['error'] 字段中被找到,也就是 $_FILES['userfile']['error']。

UPLOAD_ERR_OK
值:0; 没有错误发生,文件上传成功。

UPLOAD_ERR_INI_SIZE
值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。

UPLOAD_ERR_FORM_SIZE
值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。

UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上传。

UPLOAD_ERR_NO_FILE
值:4; 没有文件被上传。

注: 这些在 PHP 4.3.0 之后变成了 PHP 常量。
 楼主| 发表于 2003-6-21 11:46:47 | 显示全部楼层
根本就不能上传,而mozilla提示 此文档中不包含数据。
真是奇怪。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表