기능 이 강 한 php 파일 업로드 클래스

5141 단어 php파일 업로드
본 고의 실례 는 여러분 에 게 php 파일 업로드 클래스 를 공 유 했 습 니 다.기능 이 매우 강력 합 니 다.여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.


<?PHP
/*
*     
**/
class upfile{
private $file_size;//       
private $file_tem;//         
private $file_name;//     
private $file_type;//      
private $file_max_size=2000000;//        
private $file_folder="uploadFiles";//      
private $over_write=false;//        
//         
private $allow_type=array('image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','image/x-png');


//   ,file:     
function __construct($file){
$this->file_name=$_FILES[$file]['name'];//       
$this->file_type=$_FILES[$file]['type'];//    
$this->file_tem=$_FILES[$file]['tmp_name'];//        ,       
$this->file_size=$_FILES[$file]['size'];//    
}

//               
function creatFolder($f_path){
if(!file_exists($f_path)){
mkdir($f_path,0777);
}
}

//             
function is_big(){
if($this->file_size>$this->file_max_size){
echo "    ,    !";
exit;
}
}

//      
function check_type(){
if(!in_array($this->file_type,$this->allow_type)){
echo "         ";
exit;
}
}

//        
function check_file_name(){
if(!file_exists($this->file_tem)){
echo "       ";
exit;
}          
}

//         ,    
function check_same_file($filename){
if(file_exists($filename)&&$this->over_write!=true){
echo "       !";
exit;
}    
}

//    
function move_file($filename,$destination){
if(!move_uploaded_file($filename,$destination)){
echo "      ";
exit;
}
}

//          HTTP POST    
function is_upload_file(){
if(!is_uploaded_file($this->file_tem)){
echo "     ";
exit;
}
}

//       
function getext(){
$ext=$this->file_name;
$extstr=explode('.',$ext);
$count=count($extstr)-1;
return $extstr[$count];
}

//     
function set_name(){      
return time().".".$this->getext();
}

//           
function creat_mulu(){
$this->creatFolder("../../upload/".date(Ymd));  
return "upload/".date(Ymd);
}

//      
function files_name(){
$name=$this->set_name();
$folder=$this->creat_mulu();
return "../../".$folder."/".$name;
}

//    
function upload_file(){
$f_name=$this->files_name();
move_uploaded_file($this->file_tem,$f_name);
return $f_name;
}  

//     
//   :120, :120
function create_simg($img_w,$img_h){
$name=$this->set_name();
$folder=$this->creat_mulu();
$new_name="../../".$folder."/s_".$name;      
$imgsize=getimagesize($this->files_name());

switch ($imgsize[2]){
case 1:
if(!function_exists("imagecreatefromgif")){
echo "  GD     GIF     ,   Jpeg PNG  !  ";
exit();
}
$im = imagecreatefromgif($this->files_name());
break;
case 2:
if(!function_exists("imagecreatefromjpeg")){
echo "  GD     jpeg     ,          !  ";
exit();
}
$im = imagecreatefromjpeg($this->files_name());
break;
case 3:
$im = imagecreatefrompng($this->files_name());
break;
case 4:
$im = imagecreatefromwbmp($this->files_name());
break;
default:
die("is not filetype right");
exit;
}

$src_w=imagesx($im);//      
$src_h=imagesy($im);//      
$new_wh=($img_w/$img_h);//         
$src_wh=($src_w/$src_h);//         
if($new_wh<=$src_wh){
$f_w=$img_w;
$f_h=$f_w*($src_h/$src_w);
}else{
$f_h=$img_h;
$f_w=$f_h*($src_w/$src_h);
}
if($src_w>$img_w||$src_h>$img_h){      
if(function_exists("imagecreatetruecolor")){//         
$new_img=imagecreatetruecolor($f_w,$f_h);
if($new_img){
imagecopyresampled($new_img,$im,0,0,0,0,$f_w,$f_h,$src_w,$src_h);//              
}else{
$new_img=imagecreate($f_w,$f_h);
imagecopyresized($new_img,$im,0,0,0,0,$f_w,$f_h,$src_w,$src_h);
}
}else{
$$new_img=imagecreate($f_w,$f_h);
imagecopyresized($new_img,$im,0,0,0,0,$f_w,$f_h,$src_w,$src_h);
}
if(function_exists('imagejpeg')){
imagejpeg($new_img,$new_name);
}else{
imagepng($new_img,$new_name);
}
imagedestroy($new_img);
}
//imagedestroy($new_img);
return $new_name;
}    

}
?>
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기