迅睿CMS框架是一款PHP8高性能·簡單易用的CMS開源開發(fā)框架,基于MIT開源許可協(xié)議發(fā)布,免費(fèi)且不限制商業(yè)使用,是免費(fèi)開源的產(chǎn)品,以萬端互聯(lián)為設(shè)計(jì)理念,支持的微信公眾號、小程序、APP客戶端、移動(dòng)端網(wǎng)站、PC網(wǎng)站等多終端式管理系統(tǒng)。
聯(lián)系官方銷售客服
1835022288
028-61286886
upload類文件怎么寫,可以讓自定義的附件上傳名稱不變,和原來的文件名稱保持一致
參考文檔:《重寫系統(tǒng)Library類:上傳文件類》
思路跟這個(gè)一樣,需要有點(diǎn)php基礎(chǔ)的人員才能看的懂怎么去寫代碼
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']; } } // 隨機(jī)新名字 !$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']) { // 指定存儲(chǔ)名稱 $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']) { // 指定存儲(chǔ)路徑 $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'].'/'; // 按開發(fā)自定義參數(shù) } elseif (defined('SYS_ATTACHMENT_SAVE_TYPE') && SYS_ATTACHMENT_SAVE_TYPE) { // 按后臺設(shè)置目錄 if (SYS_ATTACHMENT_SAVE_DIR) { $path = str_replace( ['{y}', '{m}', 'msgou80', '{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 { // 默認(rèn)目錄格式 $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'];
// 隨機(jī)新名字
!$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']) {
// 指定存儲(chǔ)名稱
$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']) {
// 指定存儲(chǔ)路徑
$path = $config['save_path'];
$config['save_file'] = $path;
if (isset($config['path']) && $config['path']) {
$path = $config['path'].'/'; // 按開發(fā)自定義參數(shù)
} elseif (defined('SYS_ATTACHMENT_SAVE_TYPE') && SYS_ATTACHMENT_SAVE_TYPE) {
// 按后臺設(shè)置目錄
if (SYS_ATTACHMENT_SAVE_DIR) {
$path = str_replace(
['{y}', '{m}', 'msgou80', '{yy}', '.'],
[date('Y', SYS_TIME), date('m', SYS_TIME), date('d', SYS_TIME), date('y', SYS_TIME), ''],
trim(SYS_ATTACHMENT_SAVE_DIR, '/')).'/';
$path = '';
// 默認(rèn)目錄格式
$path = date('Ym', SYS_TIME).'/';
$file_path = $path.$name.'.'.$file_ext;
return [$file_path, $config, $diy];
參考文檔:《上傳文件:上傳到指定位置-固定命名》
回復(fù)@小波工作室--標(biāo)簽和API大師 非常感謝,完美解決。
參考文檔:《重寫系統(tǒng)Library類:上傳文件類》
思路跟這個(gè)一樣,需要有點(diǎn)php基礎(chǔ)的人員才能看的懂怎么去寫代碼
1、新建文件:dayrui/My/Library/Upload.php
2、新寫方法體:
參考文檔:《上傳文件:上傳到指定位置-固定命名》
回復(fù)@小波工作室--標(biāo)簽和API大師 非常感謝,完美解決。