快速导航: SEO培训 | SEO教程 | PHP培训 | PHP教程 | 网页设计培训 | 办公自动化培训
收藏本站 | 设为首页
当前位置:网站首页 > PHP教程 > php > php

非常实用的PHP文件上传类

时间:2012-10-14 23:24 | 来源:德曼PHP | 作者:德曼PHP培训组
非常实用的PHP文件上传类

上传文件:

 

<?php
/**
* author : PHP100.com
* date :2012-9-15 经典的文件上传类 
**/
 if(!empty($_POST['sub'])){
  include("up.class.php");
  
  $up = new up($_FILES['up']);
//参数,文件流必选,【指定目录,指定大小,指定文件名】可选
 }
 ?>
 
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="up">
<input type="submit" name="sub" value="上传">
</form>
 
上传类:
 
<?php
/**
* author : PHP100.com
* date :2012-9-15 经典的文件上传类 
**/
 class up {
    
public $f_size;//定义的文件大小
    public $f_sys;//接收文件属性
public $f_name;//自定义的文件名
public $f_dir;//自定义上传目录
 
//参数:文件流,目录,大小,文件名
function __construct($sys,$dir="",$size="1",$name=""){
 $this->f_size=$size*1000000;
 $this->f_sys=$sys;
 $this->f_name=$name;
 $this->f_dir=$dir;
 $this->f_mv();
}
 
//判断文件大小
   function is_size(){
      if($this->f_sys['size']<=$this->f_size){
   return true;
 }else{
   return false;
 }
   } //end
   
   //判断文件类型,返回扩展名
   function is_type(){ 
switch($this->f_sys['type']){
case "image/x-png": $ok=".png";
break;
case "image/png": $ok=".png";
break;
case "application/pdf": $ok=".pdf";
break;
case "image/pjpeg": $ok=".jpg";
break;
case "image/jpeg": $ok=".jpg";
break;
case "image/jpg": $ok=".jpg";
break;
default: $ok=false;
break;
}
return $ok;
     }
   
   //终止函数
   function f_over($n){
     echo $n;
exit();
   }
   
   //判断文件夹是否存在,并创建
   function is_dirs(){
    if($this->f_dir){
if(!is_dir($this->f_dir)){ 
  mkdir($this->f_dir);
}
return $this->f_dir;
}else{
if(!is_dir(date("Ymd"))){ 
  mkdir(date("Ymd"));
}
return date("Ymd");
}
   }
   
   
   //文件名的定义,不定义而使用时间戳
   function is_name(){
      if($this->f_name){
  $fn=$this->f_name.$this->is_type();
 }else{
  $fn=time().rand(100,999).$this->is_type();
 }
 return $this->is_dirs()."/".$fn;
   }
 
 
   //上传文件
   function f_mv(){
 $this->is_size()?null:$this->f_over("文件超过大小");
 $this->is_type()?null:$this->f_over("文件类型不正确");;
move_uploaded_file($this->f_sys['tmp_name'],$this->is_name());
}
 
//请继续完善,水印,等等
 }
 
 
?>

关键词:非常实用的PHP文件上传类
分享到:
首页 | 关于我们 | 课程设置 | 学前须知 | SEO培训 | 网页设计培训 | PHP+MYSQL培训 | 办公自动化培训 | 付款方式 | 联系我们 CopyRight © 2005-2012 德曼(合肥SEO培训)学校 — www.meibai56.com, All Rights Reserved.
合肥德曼电脑培训中心所有内容版权所有,未经许可请勿转载。合肥seo培训机构网站备案:皖ICP备09018273号
德曼(合肥做seo的公司)专注于【合肥SEO培训 | 合肥php培训 | 合肥网页设计培训】职业技能培训!