业务经理

微信扫描以上二维码

028-61286886

技术咨询

upload类文件,怎么让自定义的附件上传名称不变

迅睿框架 更新 2022-08-19 15:34:48 折腾

upload类文件怎么写,可以让自定义的附件上传名称不变,和原来的文件名称保持一致

方案

  • 迅睿框架创始人 #1 · 2022-06-06 12:02:20
    参考文档:《重写系统Library类:上传文件类》思路跟这个一样,需要有点php基础的人员才能看的懂怎么去写代码
  • 小波工作室--标签和API大师 #2 · 2022-06-06 12:05:56
    满意答案
    1、新建文件:dayrui/My/Library/Upload.php
    2、新写方法体:

    <?php namespace My\Library;


    class Upload extends \Phpcmf\Library\Upload

    {

    /**

    * 原名称

    */

    protected function _rand_save_file_path($config, $file_ext, $file) {


    $diy = 0;

    $name = '';

    if (isset($config['save_name']) && $config['save_name']) {

    if ($config['save_name'] == 'null') {

    // 按原始名称

    if (is_array($file) && isset($file['name']) && $file['name']) {

    $name = trim(\Phpcmf\Service::L('pinyin')->result(dr_safe_filename($file['name'])), '.'.$file_ext);

    }

    } else {

    $name = $config['save_name'];

    }

    }


    // 随机新名字

    !$name && $name = (is_array($file) ? dr_safe_filename($file['name']) : substr(md5(SYS_TIME.uniqid()), rand(0, 20), 15));


    if (isset($config['save_file']) && $config['save_file']) {

    // 指定存储名称

    $diy = 1;

    $file_path = $config['save_file'];

    $config['save_file'] = dirname($file_path);

    $config['attachment']['value']['path'] = 'null';

    } else {

    if (isset($config['save_path']) && $config['save_path']) {

    // 指定存储路径

    $diy = 1;

    $path = $config['save_path'];

    $config['save_file'] = $path;

    $config['attachment']['value']['path'] = 'null';

    } else {

    if (isset($config['path']) && $config['path']) {

    $path = $config['path'].'/'; // 按开发自定义参数

    } elseif (defined('SYS_ATTACHMENT_SAVE_TYPE') && SYS_ATTACHMENT_SAVE_TYPE) {

    // 按后台设置目录

    if (SYS_ATTACHMENT_SAVE_DIR) {

    $path = str_replace(

    ['{y}', '{m}', '{d}', '{yy}', '.'],

    [date('Y', SYS_TIME), date('m', SYS_TIME), date('d', SYS_TIME), date('y', SYS_TIME), ''],

    trim(SYS_ATTACHMENT_SAVE_DIR, '/')).'/';

    } else {

    $path = '';

    }

    } else {

    // 默认目录格式

    $path = date('Ym', SYS_TIME).'/';

    }

    }

    $file_path = $path.$name.'.'.$file_ext;

    }


    return [$file_path, $config, $diy];

    }


    }


  • 小黄人 18html #3 · 2022-06-06 12:39:06
  • 思妙 #4 · 2022-06-08 18:02:50
    小波工作室--标签和API大师 非常感谢,完美解决。
  • 折腾 #5 · 2022-08-19 15:34:48
    @小波工作室--标签和API大师:已解决问题,感谢热心回答

迅睿系统漏洞

GEO系统
GEO系统(2026-10-14)
修复下载zip空白地址问题 修复流量复刻和任务队列错误
GeoSeo收录宝
GeoSeo收录宝(2026-10-14)
新增 站长工具箱 前端首页自动调用meta 数据
滑块验证码 Gocaptcha
滑块验证码 Gocaptcha(2026-10-13)
基于开源项目 go-captcha 的行为验证码插件,滑动拼图、区域...
GeoSeo工具箱
GeoSeo工具箱(2026-10-13)
优化巡检任务
GeoSeo排名助手
GeoSeo排名助手(2026-10-11)
加入大模型自定义
SEO聚合关键字
SEO聚合关键字(2026-10-11)
优化关键字列表页最多支持1万篇文章,过多会导致服务器扛不住;
CMS内容同步复制
CMS内容同步复制(2026-10-10)
增加时间是否更新的开关
联动数据入库
联动数据入库(2026-10-10)
增加数据更新办法