0

我有一个变量:

$FolderName = date('c', time()); // I know time() is optional.. not the point.

由于我可能正在使用此脚本,我正在 Windows 机器上编写并且输出中有冒号,因此我需要执行以下操作:

$FolderName = str_replace(':', '-', date('c', time()));

我觉得函数中有太多的函数是草率的。解决此问题的最佳方法是什么?

4

1 回答 1

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 文件名中均无效

于 2013-02-15T04:52:17.510 回答