当前位置:编程学习 > php >>

php编写功能强大上传图片的类

  1. <?php
  2.  class upphoto{
  3.   public $previewsize=0.125  ;   //预览图片比例
  4.   public $preview=0;   //是否生成预览,是为1,否为0
  5.      public $datetime;   //随机数
  6.      public $ph_name;   //上传图片文件名
  7.      public $ph_tmp_name;    //图片临时文件名
  8.      public $ph_path="../userimg/";    //上传文件存放路径
  9.   public $ph_type;   //图片类型
  10.      public $ph_size;   //图片大小
  11.      public $imgsize;   //上传图片尺寸,用于判断显示比例
  12.      public $al_ph_type=array(image/jpg,image/jpeg,image/png,image/pjpeg,image/gif,image/bmp,image/x-png);    //允许上传图片类型
  13.      public $al_ph_size=1000000;   //允许上传文件大小
  14.    function __construct(){
  15.      $this->set_datatime();
  16.    }
  17.    function set_datatime(){
  18.     $this->datetime=date("YmdHis");
  19.    }
  20.     //获取文件类型
  21.    function get_ph_type($phtype){
  22.       $this->ph_type=$phtype;
  23.    }
  24.    //获取文件大小
  25.    function get_ph_size($phsize){
  26.       $this->ph_size=$phsize."<br>";
  27.    }
  28.    //获取上传临时文件名
  29.    function get_ph_tmpname($tmp_name){
  30.      $this->ph_tmp_name=$tmp_name;
  31.      $this->imgsize=getimagesize($tmp_name);
  32.    }
  33.    //获取原文件名
  34.    function get_ph_name($phname){
  35.      $this->ph_name=$this->ph_path.$this->datetime.strrchr($phname,"."); //strrchr获取文件的点最后一次出现的位置
  36.   //$this->ph_name=$this->datetime.strrchr($phname,"."); //strrchr获取文件的点最后一次出现的位置
  37.   return $this->ph_name;
  38.    }
  39.   // 判断上传文件存放目录
  40.    function check_path(){
  41.      if(!file_exists($this->ph_path)){
  42.       mkdir($this->ph_path);
  43.      }
  44.    }
  45.    //判断上传文件是否超过允许大小
  46.    function check_size(){
  47.      if($this->ph_size>$this->al_ph_size){
  48.       $this->showerror("上传图片超过2000KB");
  49.      }
  50.    }
  51.    //判断文件类型
  52.    function check_type(){
  53.     if(!in_array($this->ph_type,$this->al_ph_type)){
  54.           $this->showerror("上传图片类型错误");
  55.     }
  56.    }
  57.    //上传图片
  58.     function up_photo(){
  59.     if(!move_uploaded_file($this->ph_tmp_name,$this->ph_name)){
  60.      $this->showerror("上传文件出错");
  61.     }
  62.    }
  63.    //图片预览
  64.     function showphoto(){
  65.        if($this->preview==1){
  66.        if($this->imgsize[0]>2000){
  67.          $this->imgsize[0]=$this->imgsize[0]*$this->previewsize;
  68.               $this->imgsize[1]=$this->imgsize[1]*$this->previewsize;
  69.        }
  70.           echo("<img src="{$this->ph_name}" width="{$this->imgsize[0]}" height="{$this->imgsize[1]}">");
  71.       }
  72.     }
  73.    //错误提示
  74.    function showerror($errorstr){
  75.      echo "<script language=javascript>alert($errorstr);location=javascript:history.go(-1);;</script>";
  76.     exit();
  77.    }
  78.    function save(){
  79.     $this->check_path();
  80.     $this->check_size();
  81.     $this->check_type();
  82.     $this->up_photo();
  83.     $this->showphoto();
  84.    }
  85.  }
  86.  ?>
补充:Web开发 , php ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,