程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php編寫功能強大上傳圖片的類

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.  ?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved