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

发布时间:2021-10-31 16:36:51 作者:超级管理员 来源:本站 浏览量(1098) 点赞(103)
摘要:PbootCMS二开设置默认转存文件时为原文件名(通过正则判断达到过滤字符功能)只需修改两个部分代码即可按此路径找到PbootCMS文件转存设置文件:/core/function/file.php打开file.php文件找到229行(不同版本可能位置不一样)$file_ext=strtolower(end($file));//获取扩展在下面添加$file

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


二维码

扫一扫,关注我们

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!