• 技术文章 >php教程 >php手册

    图片上传类

    2016-06-13 09:53:21原创625
    图片上传类
    解决方法
    class upphoto{
    public $previewsize=0.125 ; //预览图片比例
    public $preview=1; //是否生成预览,是为1,否为0
    public $datetime; //随机数
    public $ph_name; //上传图片文件名
    public $ph_tmp_name; //图片临时文件名
    public $ph_path="uploadimg/"; //上传文件存放路径
    public $ph_type; //图片类型
    public $ph_size; //图片大小
    public $imgsize; //上传图片尺寸,用于判断显示比例
    public $al_ph_type=array('image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','image/xpng'); //允许上传图片类型
    public $al_ph_size=1000000; //允许上传文件大小
    function __construct(){
    $this>set_datatime();
    }
    function set_datatime(){
    $this>datetime=date("YmdHis");
    }
    //获取文件类型
    function get_ph_type($phtype){
    $this>ph_type=$phtype;
    }
    //获取文件大小
    function get_ph_size($phsize){
    $this>ph_size=$phsize."
    ";
    }
    //获取上传临时文件名
    function get_ph_tmpname($tmp_name){
    $this>ph_tmp_name=$tmp_name;
    $this>imgsize=getimagesize($tmp_name);
    }
    //获取原文件名
    function get_ph_name($phname){
    $this>ph_name=$this>ph_path.$this>datetime.$phname;
    }
    //判断上传文件存放目录
    function check_path(){
    if(!file_exists($this>ph_path)){
    mkdir($this>ph_path);
    }
    }
    //判断上传文件是否超过允许大小
    function check_size(){
    if($this>ph_size>$this>al_ph_size){
    $this>showerror("上传图片超过2000KB");
    }
    }
    //判断文件类型
    function check_type(){
    if(!in_array($this>ph_type,$this>al_ph_type)){
    $this>showerror("上传图片类型错误");
    }
    }
    //上传图片
    function up_photo(){
    if(!move_uploaded_file($this>ph_tmp_name,$this>ph_name)){
    $this>showerror("上传文件出错");
    }
    }
    //图片预览
    function showphoto(){
    if($this>preview==1){
    if($this>imgsize[0]>2000){
    $this>imgsize[0]=$this>imgsize[0]*$this>previewsize;
    $this>imgsize[1]=$this>imgsize[1]*$this>previewsize;
    }
    echo("ph_name}" width="http://www.bKjia.c0m/phper/31/{$this>imgsize['0']}" height="http://www.bKjia.c0m/phper/31/{$this>imgsize['1']}">");
    }
    }
    //错误提示
    function showerror($errorstr){
    echo "";
    exit();
    }
    function save(){
    $this>check_path();
    $this>check_size();
    $this>check_type();
    $this>up_photo();
    $this>showphoto();
    }
    }

    本人PHP菜鸟一只,自己写的第一个类,不足之处,欢迎大家批评指正,非常感谢!


    D8888D回贴内容
    test.php文件
    //类的实例化:
    include("upoop.php");//类的文件名是upoop.php
    $up=new upphoto;
    $up>get_ph_tmpname($_FILES['photo']['tmp_name']);
    $up>get_ph_type($_FILES['photo']['type']);
    $up>get_ph_size($_FILES['photo']['size']);
    $up>get_ph_name($_FILES['photo']['name']);
    $up>save();

    //上传图片的HTML:

    图片来源:
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:FastCGI 不完全高级指南(PHP版,Windows平台) 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 学习PHP重定向的三种方法• 关于UEditor编辑器远程图片上传失败的解决办法• 层叠菜单的动态生成_php基础• 基于php实现七牛抓取远程图片• PHP实现通过get方式识别用户发送邮件的方法
    1/1

    PHP中文网