我有一个变量:
$FolderName = date('c', time()); // I know time() is optional.. not the point.
由于我可能正在使用这个脚本,我正在Windows机器上编写,输出中有冒号,我需要这样做:
$FolderName = str_replace(':', '-', date('c', time()));
我觉得在功能中有太多功能是草率的。最好的方法是什么?
答案 0 :(得分:1)
要从Windows计算机上完全保护您的文件夹名称,您应该执行以下操作
$match = preg_match('/[\/|\\\|\?|"|\<|\>|\||\:|\*|%|\#]/is', $FolderName);
if($match)
{
echo "Invalid filename. A filename can't contain any of the following characters: \ / : * ? \" < > | % # ";
}
else
{
// do stuff..
}
以上所有字符在Windows文件名中都无效