账户中心 退出系统
开发文档 资讯·分享 技术交流 会员登录
phpGrace GSCMS 公众号系统
文件上传类

功能描述

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

类库名称

use grace\tool\upload;

构造函数参数

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

核心函数

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

演示代码

# 控制器代码

<?php
namespace grace\controller;
use grace\grace;
use grace\tool\upload;

class index extends grace{
    public function index()
    {
        if(!empty($_FILES['file'])){
            $uploadObject                = new upload('file', 'upload');
            // 允许上传文件的扩展名 [ 会自动检查与扩展名对应的文件类型 ]
            $uploadObject->allowExtName  = array('7z','jpg','gif','png');
            // 允许上传文件的大小 [单位 K]
            $uploadObject->allowSize     = 1024;
            // 子文件夹创建规则  no - 不自动创建  |  y - 年 | m - 月 | d - 日
            $uploadObject->dirCreateRule = 'y';
            // 文件重命名规则  1: 不重命名 | 2: 随机重命名 | 3: _1 后缀形式重命名
            $uploadObject->renameRule    = 2;
            $res = $uploadObject->upload();
            if($res){
                echo '上传文件路径 : '.$uploadObject->uploadedFileUrl;
            }else{
                echo $uploadObject->error;
            }
        }
    }
}

# 视图代码

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