? 文件尺寸限制及異常處理
在實際的應用中 文件管理功能通常需要對用戶上傳的文件尺寸和類型做限制 這是上傳下載模塊的基礎功能 對於上傳文件尺寸的限制可以在客戶端依靠JavaScript程序來實現 但同時也需要對WebServer的配置做必要的修改 下面分別介紹這兩種方式
? JavaScript文件尺寸驗證
打開前面創建的文件上傳界面文件upload 添加文件尺寸判斷函數 修改後的頁面代碼如下
< xmlns= undefined >
<head>
<title>文件上傳頁面</title>
<meta equiv= Content Type content= text/; charset=gb >
<meta name= description content= 文件上傳頁面 />
<script language= JavaScript type= text/JavaScript >
function getFileSize(filename) {
//var filename = document all( fileup ) value;? //獲得上傳文件的物理路徑
if (filename == ) {
alert( 妳還沒有瀏覽要上傳的文件 )
return false;
}
try {
var fso f fname fsize;
var flength = ;//設置上傳的文件最大值(單位 kb) 超過此值則不上傳
fso = new ActiveXObject( Scripting FileSystem
Object )
f = fso GetFile(filename) ? //文件的物理路徑
fname = fso GetFileName(filename) ?//文件名(包括擴展名)
ffsize = f Size; //文件大小(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/form data action= upload php 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(document all( userfile ) value) ></td>
</tr>
</table>
</form>
</center>
</body>
</>
使用上面的程序上傳壹個大尺寸的文件 通過測試程序是否正確來判斷文件尺寸 上傳後瀏覽器彈出提示文件尺寸過大的信息 驗證文件尺寸的檢測有效
註意 上面的代碼做文件尺寸檢測是依賴於ActiveXObject( Scripting FileSystemObject ) 這個是IE控件完成的 壹些情況下需要降低IE的安全級別才能正常運行
? 返回目錄 PHP典型模塊與項目實戰大全
? 編輯推薦
? Java Web開發詳解
? PHP Web開發學習實錄
lishixinzhi/Article/program/PHP/201311/21518