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

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



THE END

文章版权:作者:网络  来源:网络  

免责声明:本站提供的一切软件、插件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

本文最后更新于 2022-07-14 09:11:36,如果你的问题还没有解决,可以加入建站交流群和群友们一起讨论。

评论区