www.gusucode.com > 仿51.com的php源码 1.1 > User/user.php

    <?php
class user
{
	function process_user($globalvars)
	{
		$user_dat = array('name' => 'guest','nickname'=>null,'face'=>null,'DefaultStyle'=>null,'HomepageTitle'=>null,'midbg'=>null,'midtitle'=>null,'IsHomepageClose'=>null,'MessagePrivilege'=>null,'LeaveWordPrivilege'=>null,'huiyuan'=>null,'dengji'=>null,'videorz'=>null,'RegTime'=>null,'LastLoginTime'=>null,'ThistLoginTime'=>null,'LastLoginIp'=>null,'ThistLoginIp'=>null,'LoginTimes'=>null,'FavKey'=>null,'usrdir' => null,'space'=>null,'usedface'=>null,'usedspace' => 0);
		
		if(!empty ($_COOKIE['uid']))
		{	
			$uid=$_COOKIE['uid'];
			$sql="SELECT * FROM userdata  WHERE User_Account='$uid'";
			//$user_arr=$db->getRs($sql);
			$user_query = mysql_query($sql);
			$user_arr = mysql_fetch_array($user_query);		
			if($user_arr !=null)
			{				
				$user_dat['name'] = $user_arr['User_Account'];
				$user_dat['nickname']=$user_arr['nickname'];
				$user_dat['face']=$user_arr['face'];
				$user_dat['DefaultStyle']=$user_arr['DefaultStyle'];
				$user_dat['HomepageTitle']=$user_arr['HomepageTitle'];
				$user_dat['midbg']=$user_arr['midbg'];
				$user_dat['midtitle']=$user_arr['midtitle'];
				$user_dat['IsHomepageClose']=$user_arr['IsHomepageClose'];
				$user_dat['MessagePrivilege']=$user_arr['MessagePrivilege'];
				$user_dat['LeaveWordPrivilege']=$user_arr['LeaveWordPrivilege'];
				$user_dat['huiyuan']=$user_arr['huiyuan'];
				$user_dat['dengji'] = $user_arr['dengji'];
				$user_dat['videorz']=$user_arr['videorz'];
				$user_dat['RegTime']=$user_arr['RegTime'];//注册时间
				$user_dat['LastLoginTime']=$user_arr['LastLoginTime'];//上次登陆时间
				$user_dat['ThistLoginTime']=$user_arr['ThistLoginTime'];//这次登陆时间
				$user_dat['LastLoginIp']=$user_arr['LastLoginIp'];//上次登陆IP
				$user_dat['ThistLoginIp']=$user_arr['ThistLoginIp'];//这次登陆IP				
				$user_dat['LoginTimes']=$user_arr['LoginTimes'];//登陆次数
				$user_dat['FavKey']=$user_arr['FavKey'];//导航KEY密
				//$user_dat['BoxMsg']=$user_arr['BoxMsg'];
				$user_dat['usrdir'] = $globalvars->maindir . $user_dat['name'];
				$user_dat['space'] =$this->get_pace($user_arr['huiyuan']);
				$user_dat['usedface']=$user_arr['face'];			
				//$openusrdir = opendir($user_dat['usrdir']);
				$used_space = 0;
				
				
				//使用递归函数求文件夹下所有文件大小
				$used_space=$this->getDirSize($user_dat['usrdir']);
				
						
				/*while($usrfile = readdir($openusrdir))
				{
					if($usrfile != ".." && $usrfile != "." && $usrfile != "error_log" && $usrfile != "thumbnails")
					{
						$usrfile_size = filesize($user_dat['usrdir'] . "/" . $usrfile);
						$used_space = $used_space + $usrfile_size;
					}
				}
				*/
				
				$user_dat['usedspace'] = $used_space;
				}
				else
				{
					$uid = $COOKIE['uid'];	
					setcookie("uid","",time() - 3600);		
					echo "<script>alert('您的会话信息与数据不匹配, 已经被终止');window.location.href='/index.php';</script>";
				}
			
			}
		
		return $user_dat;
	}
	
	
	// 获取文件夹大小
    function getDirSize($dir)
    { 
        $handle = opendir($dir);
        while (false!==($FolderOrFile = readdir($handle)))
        { 
            if($FolderOrFile != "." && $FolderOrFile != "..") 
            { 
                if(is_dir("$dir/$FolderOrFile"))
                { 
                    $sizeResult +=$this->getDirSize("$dir/$FolderOrFile"); 
                }
                else
                { 
                    $sizeResult += filesize("$dir/$FolderOrFile"); 
                }
            }    
        }
        closedir($handle);
        return $sizeResult;
    }

    // 单位自动转换函数
    function getRealSize($size)
    { 
        $kb = 1024;         // Kilobyte
        $mb = 1024 * $kb;   // Megabyte
        $gb = 1024 * $mb;   // Gigabyte
        $tb = 1024 * $gb;   // Terabyte
        
        if($size < $kb)
        { 
            return $size." B";
        }
        else if($size < $mb)
        { 
            return round($size/$kb,2)." KB";
        }
        else if($size < $gb)
        { 
            return round($size/$mb,2)." MB";
        }
        else if($size < $tb)
        { 
            return round($size/$gb,2)." GB";
        }
        else
        { 
            return round($size/$tb,2)." TB";
        }
    }

	
	
	
	
	
	function get_pace($p)
	{
		switch ((int)($p)) 
	{
		case 0: 
			return $im  ="50:MB";
        break;
		
		case 1:
			return $im  ="100:MB";
        break;
		
		case 2: 
			return $im  ="150:MB";
        break;
		
		case 3:
			return $im ="200:MB";
		break;
		
		case 4:
			return $im ="250:MB";
		break;
		default: 
			return $im = "300:MB";;
        break;
   }
   
	}
}

$user = new user();
?>