上传类

<?php
header("content-type:text/html;charset=utf-8");

//文件上传类
class upload{
    public $arr;
    function __construct($imgArr){
        $this ->arr = $imgArr;
    }
    //一个功能一个方法;
    #得到扩展名
    function getExt(){
        $ext = strrpos($this ->arr["name"],".");
        $extName = strtolower(substr($this->arr["name"],$ext+1));
        return $extName;
    }
    #根据扩展名,判断类型
    function checkType(){
        $extName = $this ->getExt();
        if($extName != "jpg" && $extName != "gif" && $extName != "png"){
            echo "文件格式不正确,请<a href='addProduct.php'>重新上传</a>";
            exit;
        }
    }
    #判断文件大小
    function checkSize(){
        $size = $this ->arr["size"];
        if($size >3000000){
            echo "文件大小错误,请<a href='addProduct.php'>重新上传。</a>";
            exit;
        }
    }
    #创建路径
    function mkPath(){
        $path = "upload/";
        if(!is_dir($path)){
            mkdir($path);
        }
        $filePath = $path.date("Ymd")."/";
        if(!is_dir($filePath)){
            mkdir($filePath);
        }
        $fileName = $filePath.time().rand(1000,9999).".".$this->getExt();
        return $fileName;
    }
    #执行上传的动作
    function uploadImg(){
        $extName = $this -> getExt();
        $this -> checkType();
        $this -> checkSize();
        $fileName = $this -> mkPath();

        move_uploaded_file($this ->arr["tmp_name"],$fileName);
        return $fileName;
    }
    function __destruct(){
        $this ->arr = NULL;
        #unset($arr);
    }
}

你可能感兴趣的:(上传类)