当前位置:首页 > CMS系统 > pbootcms > PbootCMS二开设置默认转存文件时为原文件名

PbootCMS二开设置默认转存文件时为原文件名

鲁豫2年前 (2022-07-26)pbootcms1030

pbootcms二开设置默认转存文件时为原文件名(通过正则判断达到过滤字符功能)

只需修改两个部分代码即可

按此路径找到PbootCMS文件转存设置文件:/core/function/file.php

打开 file.php 文件

找到229行(不同版本可能位置不一样)

$file_ext = strtolower(end($file)); // 获取扩展

在下面添加

$file_all = reset($file); // 获取文件名
$file_name = preg_replace('/W/','',$file_all);// 过滤所有非字母、数字以及下划线的字符

过滤非(大小写英文字母、数字和下划线)的字符  反斜杠W

过滤非(大小写英文字母、数字和下划线和-)的字符  ^反斜杠w反斜杠-

过滤非(汉字、大小写英文字母、数字和下划线)的字符  /^a-zA-Z0-9_反斜杠p{Han}/u

正则表达式替换下面红色部分,反斜杠汉字需换成英文反斜杠

$file_name = preg_replace('/W/','',$file_all);

过滤所有非字母、数字、下划线、- 则改为

$file_all = reset($file); // 获取文件名
$file_name = preg_replace('/^w-/','',$file_all);// 过滤所有非字母、数字以及下划线和-的字符


找到262行(不同版本可能位置不一样)

$file_path = $save_path . '/' . $file_type . '/' . date('Ymd') . '/' . time() . mt_rand(100000, 999999) . '.' . $file_ext;

改成

$file_path = $save_path . '/' . $file_type . '/' . date('Ymd') . '/' . $file_name . '.' . $file_ext;

然后保存文件即可


本页面上传的文件即是直接后台上传未处理的文件,在通过上述配置后已不会再重命名文件,直接保存为原文件名,文件名避免使用中文和特殊字符

编辑器里 反斜杠 容易被编辑器过滤,为保证代码正确,请下载文末附件查看或者对照下图,查看代码是否正确

image.png


文章出处: 阅读原文

版权声明:本文由微站Blog发布,如需转载请注明出处。

免责声明:微站技术博客所有资料搜集整理于互联网或者网友提供,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。资料获取后24小时内请删除资料,不得用于任何商业用途。否则后果自负!博主不保证资料的安全性!也不承担任何责任!切勿用博主分享的任何资料运营!

本文链接:http://ys.vzcc.cc/post/52.html

分享给朋友:

发表评

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。