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

    <?php
include "CheckLogined.php"; 
require_once("GDImage.inc.php"); 
include "../include/dbclass.php";
$db=new DbConn();
include "functions.php";
include "user.php";
$uid=$_COOKIE['uid'];
$globalvars->set_vars();
$user_dat = $user->process_user($globalvars);

$user=$_GET["user"];
$type=$_GET["type"];
$key=$_GET["key"];
$time=$_GET["time"];
$group=$_POST["group"];

$weburl1=$_POST["weburl1"];
$weburl2=$_POST["weburl2"];
$weburl3=$_POST["weburl3"];
$weburl4=$_POST["weburl4"];
$weburl5=$_POST["weburl5"];
$weburl6=$_POST["weburl6"];
if($user!=$uid)
{
echo "false";
exit();
}
$error_msg="";//先定义错误
if($weburl1!=null)
{
$error_msg.=GrabImage($user_dat, $globalvars,$weburl1);
}
else
{
echo "<script>alert('至少要选一张图片上传!');history.back();</script>";
exit();
}
if($weburl2!=null)
{
$error_msg.=GrabImage($user_dat, $globalvars,$weburl2);
}
if($weburl3!=null)
{
$error_msg.=GrabImage($user_dat, $globalvars,$weburl3);
}
if($weburl4!=null)
{
$error_msg.=GrabImage($user_dat, $globalvars,$weburl4);
}
if($weburl5!=null)
{
$error_msg.=GrabImage($user_dat, $globalvars,$weburl5);
}
if($weburl6!=null)
{
$error_msg.=GrabImage($user_dat, $globalvars,$weburl6);
}
if($type=="Photo")
{
echo "<script>alert('上传完成!');window.location.href='/Photo/PhotoUploadFinish.php?ord_id=$key&type=$type&group=$group&msg=$error_msg';</script>";
}
if($type=="Image")
{
echo "<script>alert('上传完成!');window.location.href='/Image/ImageUploadFinish.php?ord_id=$key&type=$type&group=$group&msg=$error_msg';</script>";
}

function GrabImage($user_dat, $globalvars,$weburl)
{
if(!empty($weburl))
{
$uid=$_COOKIE['uid'];
$user=$_GET["user"];
$type=$_GET["type"];
$time=$_GET["time"];
set_time_limit(0);


$error_occured = false;


		//查看类型		
		//$split_ext = explode(',', $globalvars->settings['allowed_ext']);
		$iext = Array('.jpg','.gif','.png');
		$ext=strrchr(strtolower($weburl),"."); 
		//$fext = strrchr(strtolower($_FILES[$whichfile]), '.');
		//$fext = strtolower($_FILES[$whichfile]['name']);
		//echo $fext;
		//exit();
		if (!in_array($ext,$iext))
		{ 
		$error_msg.="你所上传的".$weburl."的类型不在要求内!";
		$error_occured = true;			
		}

//set_time_limit(0);
			//目录			$user_dat['usrdir']
			$time=date("Y-m-d H:i:s",time());
			$T=$user_dat['usrdir'];			
			$TT=$T."/".$type;
			
			$TTT=$TT."/".date("Ym",strftime(time()));
			$TTTT=$TTT."/".date("d",strftime(time()));
			
			if(!is_dir($T))
			{
    		  @mkdir($T,0777);	 
  			}
			if (!is_dir($TT))
			{
			@mkdir($TT,0777);
			}
			if (!is_dir($TTT))
			{
			@mkdir($TTT,0777);
			}
			if (!is_dir($TTTT))
			{
			@mkdir($TTTT,0777);
			}
			//生成文件名
			$str="";
			$arrays = array(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9); 
			$keys = array_rand($arrays,36);
			for($i=$j;$i<36;$i++)
			{
			$str .= $arrays[$keys[$i]];
			}
			$get_file =@file_get_contents($weburl);
			 if(!$get_file)
                        {
							$error_msg.="你输入的".$weburl."找不到文件";
							$error_occured = true;
                        }
						
			$file_big=strlen($get_file);
			//允许上传最大

		$filesize_limit = explode(':', $globalvars->settings['Photo_Max_upload']);

		$uploadmax_set = new functions();
		
		switch($filesize_limit[1])
		{
			case MB:
				$uploadmax = $uploadmax_set->mb_bytes($filesize_limit[0]);
			break;
			
			case KB:
				$uploadmax = $uploadmax_set->kb_bytes($filesize_limit[0]);
			break;
		}
		if ($file_big>$uploadmax )
		{
			$error_msg.="你所上传的".$_FILES[$whichfile]['name']."文件大小已超过2M了!";
			$error_occured = true;
		}
		
		
		//看空间情况
		//查看所有空间
		$sql_dirlimit = explode(':', $user_dat['space']);
			switch($sql_dirlimit[1])
			{
				case MB:
					$dirsize_set = new functions();
					$dirsize = $dirsize_set->mb_bytes($sql_dirlimit[0]);
				break;
				
				case KB:
					$dirsize_set = new functions();
					$dirsize = $dirsize_set->kb_bytes($sql_dirlimit[0]);
				break;
			}
					
			if((int)($user_dat['usedspace']+$file_big) > (int)$dirsize)
			{
			$error_msg.="您已经用光了所有的目录空间!";
			$error_occured = true;
			}	
		
		
			
			if($error_occured != true)
			{
			
			 $rndFileName =$TTTT."/".$str.$ext;
			 $fp = @fopen($rndFileName,"w");
             fwrite($fp,$get_file);
             fclose($fp);
		
				
			
			$GDImg=new GDImage($TTTT . "/",$TTTT . "/","../authpage/");
			$GDImg->toFile = true;
			
			//修改大图片大小
			$rndFileName=$GDImg->makeBig($str.$ext,800,600) ;
			
			//生成小图片
			$TheSmall=$GDImg->makeThumb($str.$ext,149,119) ;
		
							
				$group=$_POST["group"];
				$key=$_GET["key"];	
				
				if($type=="Photo")
				{				
							
				$sql="insert into photo (ord_id,User_Account,Photo_Big_Url,Photo_Sma_Url,Photo_Title,Photo_Group,Up_AddDate) values ('$key','$uid','$rndFileName','$TheSmall','$str','$group','$time')";
				$db=new DbConn();
				$db->Execute($sql);	
				}
				if ($type=="Image")
				{
							
				$sql="insert into Image (ord_id,User_Account,Image_Big_Url,Image_Sma_Url,Image_Title,Image_Group,Up_AddDate) values ('$key','$uid','$rndFileName','$TheSmall','$str','$group','$time')";
				$db=new DbConn();
				$db->Execute($sql);	
				}
			                 
 				} 
				else
				 {
				$error_msg.="未知错误!";
			}
			
			return $error_msg;
			



}

}

?>