if($_POST['form']){
if($_FILES['upfile']['error'] > 0){
switch((int)$_FILES['upfile']['error']){
case UPLOAD_ERR_NO_FILE: echo("请选择有效的上传文件!");break;
case UPLOAD_ERR_FORM_SIZE: echo("你上传的文件总大小超出了最大限制(".$GLOBALS['nAllowSize']."KB)!')");break;
case UPLOAD_ERR_PARTIAL: echo "文件只有部分被上传。 ";break;
case UPLOAD_ERR_NO_FILE: echo "没有文件被上传。";break;}exit;
}else{
$fileSize = sizecount($_FILES['upfile']['size']);//得到大小 $namecnum = strlen($_FILES['upfile']['name']);//得到文件后缀名
$namenum = strrpos($_FILES['upfile']['name'], ".");
$filename = substr($_FILES['upfile']['name'], $namenum, $namecnum); $fileAddr = $newfile = "userdata/".date('Y-m-d-H-i-s').$filename;//$_FILES['upfile']['name'];
$res = @mysql_db_query($db_name,"SELECT `name` FROM `down_deny`") or die('数据库操作失败');
while ($row = @mysql_fetch_array($res))
{ if ($row[0] == $filename){echo "<br><br><br><br><CENTER>上传失败,你上传了被禁止的文件类型".$ruturn;exit;} }
}
if(!@copy($upfile, $newfile)){echo "<br><br><br><br><CENTER>上传失败,请确认你有操作权限".$ruturn;exit;}
}else {echo "哈哈,你没进行操作";exit;}其中sizecount()为计算字节大小的一个函数

解决方案 »

  1.   

    function sizecount($filesize) { //计算出所有文件大小
    if($filesize >= 1073741824) {
    $filesize = round($filesize / 1073741824 * 100) / 100 . ' G';
    } elseif($filesize >= 1048576) {
    $filesize = round($filesize / 1048576 * 100) / 100 . ' M';
    } elseif($filesize >= 1024) {
    $filesize = round($filesize / 1024 * 100) / 100 . ' K';
    } else {
    $filesize = $filesize . ' bytes';
    }
    return $filesize;
    }//END tunction sizecount