(文件名特殊字符过滤)文件夹或文件名字中不能使用的特殊字符共有9个,过滤文件名中的特殊字符,并处理过滤后长度为0的情况

zblog12个月前zblog问题解答53
# 过滤文件名中的特殊字符,并处理过滤后长度为0的情况
function guiyi_txt_sanitize_file_name($fileName)
{
    // 定义不允许的特殊字符
    $invalidChars = array('\\', '/', ':', '*', '?', '"', '<', '>', '|');

    // 使用 str_replace 过滤掉不允许的字符
    $sanitizedFileName = str_replace($invalidChars, '', $fileName);

    // 如果过滤后的文件名为空,则返回 "未命名"
    if (empty(trim($sanitizedFileName))) {
        return '未命名';
    }
    return $sanitizedFileName;
}

文件夹或文件名字有一些特殊字符是不能使用的 一共有几个 特殊字符 不能用


文件夹或文件名字中不能使用的特殊字符共有9个

具体为:

\(反斜杠)

/(正斜杠)

:(冒号)

*(星号)

?(问号)

"(双引号)

<(小于号)

>(大于号)

|(竖线)



(文件名特殊字符过滤)文件夹或文件名字中不能使用的特殊字符共有9个,过滤文件名中的特殊字符,并处理过滤后长度为0的情况


参考  http://zblog.gongshi5.com/post/109.html  



python 实现

def guiyi_txt_sanitize_file_name(file_name):
    # 定义不允许的特殊字符集合(使用集合提升查找效率)
    invalid_chars = {'\\', '/', ':', '*', '?', '"', '<', '>', '|'}

    # 使用生成器表达式过滤字符(更高效的方式)
    sanitized_file_name = ''.join([c for c in file_name if c not in invalid_chars])

    # 清理空白字符并处理空字符串情况
    sanitized_file_name = sanitized_file_name.strip()
    return '未命名' if not sanitized_file_name else sanitized_file_name


print(guiyi_txt_sanitize_file_name("test\\file :name.txt"))  # 输出: testfilename.txt
print(guiyi_txt_sanitize_file_name("  *invalid?:/ "))  # 输出: 未命名
print(guiyi_txt_sanitize_file_name("valid file.txt"))  # 输出: valid file.txt
print(guiyi_txt_sanitize_file_name("   "))  # 输出: 未命名


相关文章

python并行 pycharm并行运行 允许多个实例

python并行 pycharm并行运行 允许多个实例

选中就允许一个py文件 多个实例并行运行,关闭就不允许多个实例运行,每个python文件只能一个实例运行。...

str_pad php 字符串左右补全填充到固定长度的函数

str_pad 是 PHP 中的一个字符串处理函数,用于将字符串填充到指定的长度。其基本语法如下:str_pad(string $input, int $pad_leng...

CPU高 mysql top 100% kill 进程id重启

CPU高 mysql top 100% kill 进程id重启topkill 进程id...

一个sql获取表的min和max值

SELECT MIN(log_ID), MAX(log_ID) FROM zbp_postfunction usebreakid_GetMinMaxI...

Call to undefined function xnxf()zblog提示“可能的错误原因提示或500网络错误”时排查错误的方法

Call to undefined function xnxf()zblog提示“可能的错误原因提示或500网络错误”时排查错误的方法

很多时候都有可能遇到《错误提示》这类的提示,产生这个错误的原因一般来说都是服务端报错,如下图准备工作:1、进入后台,在网站设置的全局设置里,打开调试模式。2、如果不能进后台,那就用ftp连进网站,编辑...

zblog的数据库表数组映射定义 datainfo 位置

zb_system/defend/datainfo.php<?php return array(     'Config'...