通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>在线服务>>疑难解答>>正文 新版上线![旧版]
注:打开慢时请稍等

先判断要上传的文件的大小再上传文件

http://www.iyit.net  日期:2006-10-6 15:31:40  来源:iyit.net收集  点击:
参加讨论
如果上传了之后再判断,那就没什么意义了,虽然php.ini里对上传文件的尺寸有了限定,但我想能不能先判断再copy,不然用户非法copy大文件就会占用很多的带宽。  
请问如何来实现啊。  
下面的  
$_files['userfile']['size']  
是用来确定已上传文件的大小,单位为字节  
 
另外:  
max_file_size  隐藏字段必须在文件输入字段之前,且其值为接受文件的最大尺寸,单位为字节。    
max_file_size  的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,php  设置中的上传文件最大值,是不会失效的。    
 
---------------------------------------------------------------  
 
要多看文件操作函数库,filesize  
---------------------------------------------------------------  
 
<html><head>  
<script>  
 
function  getfilesize  (filename)  {  
   
if  (document.all)  {  
window.oldonerror  =  window.onerror;          
window.onerror  =  function  (err)  {  
if  (err.indexof('utomation')  !=  -1)  {  
alert('没有访问文件的权限');                  
return  true;              
}            
else    
return  false;          
};  
       var  fso  =  new  activexobject('scripting.filesystemobject');  
       var  file  =  fso.getfile(filename);          
window.onerror  =  window.oldonerror;  
       return  file.size;    }}  
</script>  
</head>  
<body>  
<form  name="formname"><input  type="file"  name="filename"><br>  
<input  type="button"  value="查看文件字节大小"  onclick="alert(getfilesize(this.form.filename.value))"><br>  
</form></body>  
</html>  
 
---------------------------------------------------------------  
 
本人认为在上传之前可以使用js码实现,至于如何实现就要看老兄的功底了  
---------------------------------------------------------------  
 
$_files['userfile']['size']  
取的是临时文件的大小。根据http协议的机制来看,你只能判断临时文件的大小啊。  
if($_files['userfile']['size']<1000){  
         copy(...);  
}  
---------------------------------------------------------------  
 
给你段判断文件大小的代码:  
<html><head>  
<script>  
 
function  getimagedimension  (imgurl,  loadhandler)  {  
   var  img  =  new  image();  
img.onload  =  loadhandler;  
if  (document.layers  &&  location.protocol.tolowercase()  !=  'file:'  &&  navigator.javaenabled())  
       netscape.security.privilegemanager.enableprivilege(            'universalfileread'  
       );    img.src  =  imgurl;}  
function  getfilesize  (filename)  {  
   if  (document.layers)  {  
if  (navigator.javaenabled())  {  
           var  file  =  new  java.io.file(filename);  
           if  (location.protocol.tolowercase()  !=  'file:')  
               netscape.security.privilegemanager.enableprivilege(  
               'universalfileread'                );  
return  file.length();        }  
       else  return  -1;    }  
else  if  (document.all)  {  
       window.oldonerror  =  window.onerror;  
window.onerror  =  function  (err)  {  
           if  (err.indexof('utomation')  !=  -1)  {  
               alert('file  access  not  possible');  
return  true;  
}  
 else  
 
 return  false;        };  
       var  fso  =  new  activexobject('scripting.filesystemobject');  
       var  file  =  fso.getfile(filename);  
window.onerror  =  window.oldonerror;  
       return  file.size;    }}  
function  showimagedimensions  ()  {  
   alert(this.width  +  'x'  +  this.height);}  
</script>  
<script>  
function  checkimagedimensions  (filename)  {  
var  imgurl  =  'file:///'  +  filename;  
   getimagedimension(imgurl,  showimagedimensions);}  
</script>  
</head  
><body>  
<form  name="formname"><input  type="file"  name="filename"><br>  
<input  type="button"  value="check  file  size"  
             onclick="alert(getfilesize(this.form.filename.value))"></form></body>  
</html>  
 


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:如何读取比如http://abc@xxx.com 中的abc?
下一篇:希望能找到一个更好的办法来处理下拉菜单项的排序问题。
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
最新更新 热点排行 推荐新闻
我在windows  xp上安装apache2.044+ph
apache+php,怎样打开session支持??
在linux中怎么配置pdflib和php  高分!
怎么样同时解释.php和.php3的文件呀,
php 4.1.0 及以后版本使用post变量的接
我在windows  xp上安装apache2.044+ph
apache+php,怎样打开session支持??
在linux中怎么配置pdflib和php  高分!
怎么样同时解释.php和.php3的文件呀,
php 4.1.0 及以后版本使用post变量的接
apache2-win32+php的成功安装方法
我只是想在本地机上学习php ,还要安装
装了php。运行时出现在以下提示
如何安装apache2.0
怎么删除mysql???
我在windows  xp上安装apache2.044+ph
apache+php,怎样打开session支持??
如何实现注册时的确认码功能
请帮忙解决,图随机上传,不限量,定位
有没有很好方法,获得在线登陆用户名单
qq密码被盗怎么办!我教你找回密码
如何控制我的电脑只允许登录我自己的q
qq2006 beta3隆重发布 实用功能一一奉
美国微软总部相中重庆15岁网络奇才(图
百度声明称遭受有史以来最大规模黑客攻
被删除系统文件恢复全攻略
使用身份验证来禁止内部用户上网 
国内首次发现带有感染文件特征盗号病毒
06年08月31日石家庄太和 内存报价
用css控制透明图片 
exeplorer.exe错误的问题的总结、解决
三分钟让你的系统变处女:acronis tru
让你的密码成为黑客的“耻辱”
比较sql server2005和oracle 10g r2
比较sql server2005和oracle 10g r2
sql server2005的xml数据类型之基础篇
sql server服务器的“偷梁换柱”
在win2003下mysql数据库每天自动备份
win2000 apache php mysql 安装及安全
mysql账户相关
快速安装windows操作系统独家秘籍
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息