<form action='' method='post' enctype='multipart/form-data'>
<input id='hsize' type='hidden' name='MAX_FILE_SIZE' value='100' />
上传<input type='file' name='log' οnchange="chuang(this)" />
<input type='submit' value='提交' />
</form>
<script>
var hsize = document.getElementById('hsize').value;//限制的大小
function chuang(a)
{
var size = a.files[0].size ;
if(size >= hsize )
{
alert('图片大小:'+size + '规定大小:'+hsize);
alert('注意!图片大小应在10k以下');
}
else
{
alert('图片大小合格!');
}
}
</script>
注意:
上传文件的表单使用post方式,并且要在form中添加enctype='multipart/form-data'。
一般可以加上隐藏域:<input type=hidden name='MAX_FILE_SIZE' value=dddddd>,位置在file域前面。value的值是上传文件的客户端字节限制。可以避免用户在花时间等待上传大文件之后才发现文件过大上传失败的麻烦。
使用file文件域来选择要上传的文件,当点击提交按钮之后,文件会被上传到服务器中的临时目录,在脚本运行结束时会被销毁,所以应该在脚本结束之前,将其移动到服务器上的某个目录下,可以通过函数move_uploaded_file()来移动临时文件,要获取临时文件的信息,使用$_FILES。
限制上传文件大小的因素有:
1)客户端的隐藏域MAX_FILE_SIZE的数值(可以被绕开)。
2)服务器端的upload_max_filesize,post_max_size和memory_limit。这几项不能够用脚本来设置。
3)自定义文件大小限制逻辑。即使服务器的限制是能自己决定,也会有需要个别考虑的情况。所以这个限制方式经常是必要的。