迅睿CMS框架是一款PHP8高性能·简单易用的CMS开源开发框架,基于MIT开源许可协议发布,免费且不限制商业使用,是免费开源的产品,以万端互联为设计理念,支持的微信公众号、小程序、APP客户端、移动端网站、PC网站等多终端式管理系统。
联系官方销售客服
1835022288
028-61286886
upload类文件怎么写,可以让自定义的附件上传名称不变,和原来的文件名称保持一致
<?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]; }}
<?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';
if (isset($config['save_path']) && $config['save_path']) {
// 指定存储路径
$path = $config['save_path'];
$config['save_file'] = $path;
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, '/')).'/';
$path = '';
// 默认目录格式
$path = date('Ym', SYS_TIME).'/';
$file_path = $path.$name.'.'.$file_ext;
return [$file_path, $config, $diy];
2、新写方法体: