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

zblog8个月前zblog问题解答31
# 过滤文件名中的特殊字符,并处理过滤后长度为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的情况


参考  https://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("   "))  # 输出: 未命名


相关文章

一个sql获取表的min和max值

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

php 正则表达式替换 preg_replace 函数

在 PHP 中,你可以使用正则表达式(regular expressions)结合字符串替换函数(如 preg_replace 或 preg_replace_callba...

ip地址查询 js

https://myip.ipip.net/json  https://opendata.baidu.com/api.php?query=115.111.95.40&co=&...

array_values 数组的值 使用 array_values 函数获取数组的所有值 array_values 函数返回数组中所有的值,不包含键。

使用 array_values 函数获取数组的所有值array_values 函数返回数组中所有的值,不包含键。...

dechex 函数 ,用于将一个十进制数转换为其对应的十六进制字符串表示。

在PHP中,dechex() 函数是一个内置函数,用于将一个十进制数转换为其对应的十六进制字符串表示。 这个函数在处理数字数据时非常有用,特别是当你需要将数字以十六进制格式输出或存储时。...

mysql 优化表 表优化 OPTIMIZE

定期运行数据库维护任务,如  OPTIMIZE TABLE zbp_post ANALYZE TABLE zbp_post ,以保持...