加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 剥离坏的Windows文件名字符

发布时间:2020-12-13 18:16:26 所属栏目:PHP教程 来源:网络整理
导读:我发现这个函数测试字符串是否是 Windows文件名和文件夹友好: function is_valid_filename($name) { $parts=preg_split("/(/|".preg_quote("").")/",$name); if (preg_match("/[a-z]:/i",$parts[0])) { unset($parts[0]); } foreach ($parts as $part) {
我发现这个函数测试字符串是否是 Windows文件名和文件夹友好:
function is_valid_filename($name) {
    $parts=preg_split("/(/|".preg_quote("").")/",$name);
    if (preg_match("/[a-z]:/i",$parts[0])) {
       unset($parts[0]);
    }
    foreach ($parts as $part) {
        print "part = '$part'<br>";
       if (preg_match("/[".preg_quote("^|?*<":>","/")."abcexvs]/",$part)||preg_match("/^(PRN|CON|AUX|CLOCK$|NUL|COMd|LPTd)$/im",str_replace(".","n",$part))) {
          return false;
       }
    }
    return true;
 }

我宁愿拥有的是一个从字符串中删除所有不良内容的函数.我试着基本上用preg_replace替换preg_match但没有雪茄.

继Gordon的 reference之后,这给出了:
$bad = array_merge(
        array_map('chr',range(0,31)),array("<",">",":",'"',"/","","|","?","*"));
$result = str_replace($bad,"",$filename);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读