码迷,mamicode.com
首页 > Web开发 > 详细

PHP基础------文件上传类

时间:2015-09-20 20:43:51      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

<?php
//文件上传类
$upImage = $_FILES["img"];
//Array
//(
//    [name] => gou.jpg
//    [type] => image/jpeg
//    [tmp_name] => D:\wamp\tmp\php311F.tmp
//    [error] => 0
//    [size] => 9488
//)
class upLoad{
    private $_arr;
    //构造函数,把图像信息赋值给$_arr字段
    public function __construct($arrImg) {
        $this->_arr = $arrImg;
    }
    //得到扩展名
    private function getExtName()
    {
        //explode 以.把字符串切割为数组
       $extName = explode(".", $this->_arr["name"]);
       //取得数组最后一个元素然后返回
       return $extName = end($extName);
    }
    //判断文件大小
    private function checkSize()
    {
        if($this->_arr["size"]>2000000)
        {
            exit("图片不能大于2M");
        }
    }
    //检测图片类型 jpg gif png
    private function checkType($extName)
    {
        if($extName!="jpg" && $extName!="gif" && $extName!="png")
        {
            exit("图片格式不对,请重新上传!");
        }
    }
    //为文件重命名
    private function getFileName()
    {
        //定义文件名
        $filePathName = "Uploads/";
        //判断上传文件夹是否存在
        if(!is_dir($filePathName))
        {
           //创建目录
            mkdir($filePathName); 
        }
        //判断日期文件夹是否存在
        $filePathTime = $filePathName.date("Y-m-d")."/";
        if(!is_dir($filePathTime))
        {
             //创建目录
            mkdir($filePathTime);
        }
        //文件重命名
        $fileName = $filePathTime.date("Ymd").rand(1000, 9999)...$this->getExtName();
        return $fileName;
    }
    
    //文件上传主调方法
    public function Main()
    {
        //获得文件扩展名
        $eName = $this->getExtName();
        //判断文件大小
        $this->checkSize();
        //检测文件类型
        $this->checkType($eName);
        //文件重命名
        $fileName = $this->getFileName();
        //上传文件
        move_uploaded_file($this->_arr["tmp_name"],$fileName);
        //返回文件路径,数据库存储需要
        return $fileName;
    }
    
}
$up = new upLoad($upImage);
$up->Main();

 

PHP基础------文件上传类

标签:

原文地址:http://www.cnblogs.com/phpweige/p/4824067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!