我发现这个函数测试字符串是否是
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("^|?*<\":>","/")."\a\b\c\e\x\v\s]/",$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);
原文地址:https://www.jb51.cc/php/135204.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。