StartMVC开发手册

可以快速上手的开发文档

手册目录

upload上传类

基本方法

// 实例化 Upload 类,传入配置参数

$config = [
    'maxSize' => 2097152, // 2 MB 文件大小限制,2048*1024
    'exts' => ['jpg', 'gif', 'png', 'jpeg'],//文件名后缀限制,数组形式
    'savePath' => BASE_PATH.'/upload',//文件保存物理目录路径,相对于项目根目录,前面有斜杠,后面没有
    'urlPath' => '/upload',//文件URL目录路径,相对于站点根目录,前面有斜杠,后面没有
    'autoSub' => true,//是否按日期使用子目录,如果是,在savePath下还会有“年/月/日”目录,否则直接保存在savePath
    'autoName' => true, //使用 uniqid() 生成唯一文件名,确保文件的唯一性,否则保留原文件名
    'replace' => true,//是否覆盖已存在的文件
    'fileName'='' //自定义上传后的文件名字,比如可以使用变量$id指定文件名
];
$uploader = new startmvc\core\Upload($config);

// 输出结果
foreach ($results as $result) {
    if ($result['result']) {
        echo "文件上传成功: " . $result['url'] . "";
    } else {
        echo "文件上传失败: " . $result['error'] . "";
    }
}


//动态传参

$up = new \store\core\Upload;
$up->maxSize = 2048;
$up->exts = ['jpg', 'gif', 'png', 'jpeg'];
$up->savePath = BASE_PATH.'/upload';
$up->urlPath = '/upload';
$up->autoSub = true;
$up->fileName='';
$up->autoName = true;
$up->replace = true;
$up->upload(); 

//所有参数都是可选,不设置就为默认值

上传表单

单文件上传


    
    上传

多文件上传


    
    
    
    
    上传

以数组形式多文件上传


    
    
    
    
    上传


结果返回

$up = new \startmvc\core\Upload;
var_dump($up->upload()); 

//因为是支持多文件上传,所以上传结果会是一个数组,把每个文件的结果都返回:

上传成功返回:

[
    [
        'result' => true,    //上传成功
        'url' => '/upload/2023/12/06/20231206161246845.jpg';    //上传文件的URL,相对于站点根目录
        'filename' => '20231206161246845.jpg'
    ],
]

上传失败返回:

[
    [
        'result' => false,    //上传失败
        'error' => '上传文件大小超过限制'    //失败原因
    ]
    // more
]