文件尺寸限制及异常处理
在实际的应用中文件管理功能通常需要对用户上传的文件尺寸和类型做限制这是上传下载模块的基础功能对于上传文件尺寸的限制可以在客户端依靠JavaScript程序来实现但同时也需要对WebServer的配置做必要的修改下面分别介绍这两种方式
JavaScript文件尺寸验证
打开前面创建的文件上传界面文件uploadhtml添加文件尺寸判断函数修改后的页面代码如下
<html xmlns=undefined>
<head>
<title>文件上传页面</title>
<meta httpequiv=ContentType content=text/html; charset=gb>
<meta name=description content=文件上传页面 />
<script language=JavaScript type=text/JavaScript>
function getFileSize(filename) {
//var filename = documentall(fileup)value; //获得上传文件的物理路径
if (filename == ) {
alert(你还没有浏览要上传的文件)
return false;
}
try {
var fso f fname fsize;
var flength = ;//设置上传的文件最大值(单位kb)超过此值则不上传
fso = new ActiveXObject(ScriptingFileSystem
Object)
f = fsoGetFile(filename) //文件的物理路径
fname = fsoGetFileName(filename)//文件名(包括扩展名)
ffsize = fSize; //文件大小(bit)
fsizefsize = fsize / ;
if (fsize > flength) {
alert(上传的文件到小为 + fsize + kb\n超过最大限度 + flength + kb
不允许上传 )
return false;
} else {
alert(允许上传文件大小为 + fsize + kb)
}
} catch(e) {
alert(e)
return false;
}
return true;
}
</script>
</head>
<body bgcolor=#FFFFFF>
<center>
<form enctype=multipart/formdata action=uploadphp method=post>
<table border= width=% id=table cellspacing=>
<tr>
<td colspan=>
<p align=center>上传文件
</td>
</tr>
<tr>
<td width=%></td>
<td width=%><input type=hidden name=max_file_size
value=> <input name=userfile type=file> <input
type=submit value=上传文件
onclick=getFileSize(documentall(userfile)value)></td>
</tr>
</table>
</form>
</center>
</body>
</html>
使用上面的程序上传一个大尺寸的文件通过测试程序是否正确来判断文件尺寸上传后浏览器弹出提示文件尺寸过大的信息验证文件尺寸的检测有效
注意上面的代码做文件尺寸检测是依赖于ActiveXObject(ScriptingFileSystemObject)这个是IE控件完成的一些情况下需要降低IE的安全级别才能正常运行
返回目录PHP典型模块与项目实战大全
编辑推荐
Java Web开发详解
PHP Web开发学习实录
ASP NET开发培训视频教程