文件上传类

功能描述

完成文件上传工作,并实现以下功能 :
1、上传文件扩展名、类型检查;
2、上传文件大小检查;
3、上传对应目录创建;
4、上传文件命名规则制定;

构造函数参数

$fileName // 文件域名称 $_FILES[对应的名称]
$targetDir, // 上传文件保存文件夹位置 [ 如果不存在则创建 ]
$uploadedFileUseName // 上传文件名称自定义(设置后自动重命名将失效),不设置则自动命名

核心函数

upload() 文件上次函数
// 文件大小、类型等校验信息通过 uper 对象属性设置, upload 函数基于这些属性直接进行文件上传工作;
// 上传成功 : 返回 TRUE,通过 uploadedFileUrl 属性获取上传后服务端文件路径;
// 上传失败 : 返回 FALSE,错误信息保存在 error 属性 : $uper->error;

演示代码

# 控制器代码

<?php
class indexController extends grace{
    public function index(){
        if(!empty($_FILES['file'])){
            $uper                = new phpGrace\tools\uper('file', 'upload');
            // 设置上传允许的类型
            $uper->allowType     = 'image/png,image/jpeg,image/pjpeg,image/x-png,image/gif';
            // 允许上传文件的扩展名
            $uper->allowExeName  = 'jpg,gif,png';
            // 允许上传文件的大小 [单位 K]
            $uper->allowSize     = 1024;
            // 子文件夹创建规则  no - 不自动创建  |  y - 年 | m - 月 | d - 日
            $uper->dirCreateRule = 'y';
            // 文件重命名规则  1: 不重命名 | 2: 随机重命名 | 3: _1 后缀形式重命名
            $uper->renameRule    = 2;
            $res = $uper->upload();
            if($res){
                echo '上传文件路径 : '.$uper->uploadedFileUrl;
            }else{
                echo $uper->error;
            }
        }
    }
}

# 视图代码

<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="file" value="" />
    <input type="submit" id="" value="提交" />
</form>

下载地址

mac 系统环境 可以在编辑器的tools目录下通过 Terminal 执行命令行直接下载到目录里

curl -O http://liukuaizhuan.gitee.io/phpgracemanual/工具/文件上传类/uper.php