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;

然后保存文件即可

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

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

1645964515-a5c02e437e0e0bb

发表评论

您的电子邮箱地址不会被公开。