Php 定义这样的变量最干净的方法是什么?

Php 定义这样的变量最干净的方法是什么?,php,variables,coding-style,Php,Variables,Coding Style,我有一个变量: $FolderName = date('c', time()); // I know time() is optional.. not the point. 由于我可能正在使用在Windows计算机上编写的脚本,并且输出中有冒号,因此我需要执行以下操作: $FolderName = str_replace(':', '-', date('c', time())); 我觉得函数中的函数太多太草率了。最好的方法是什么?要使文件夹名在windows计算机上完全安全,您应该执行以下操

我有一个变量:

$FolderName = date('c', time()); // I know time() is optional.. not the point.
由于我可能正在使用在Windows计算机上编写的脚本,并且输出中有冒号,因此我需要执行以下操作:

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

我觉得函数中的函数太多太草率了。最好的方法是什么?

要使文件夹名在windows计算机上完全安全,您应该执行以下操作

$match = preg_match('/[\/|\\\|\?|"|\<|\>|\||\:|\*|%|\#]/is', $FolderName);
if($match)
{
  echo "Invalid filename. A filename can't contain any of the following characters: \ / : * ? \" < > | % # ";
}
else
{
  // do stuff..
}
$match=preg\u match('/[\/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
如果($match)
{
echo“无效的文件名。文件名不能包含以下任何字符:\/:*?\”<>\124;%\”;
}
其他的
{
//做事。。
}

以上所有字符在windows文件名中均无效

您的方法是正确的。:)。用同样的方法来做。为什么在函数参数中使用函数是草率的呢?你现在所做的不仅仅是简单易懂。。。这是惯例!在简单的情况下,它远远超过必须设置和取消设置临时变量或编写不再使用的小生境函数。创建一个类似于:
makeFolder(param)
的函数,在该函数中可以使用上述逻辑。至少当你制作文件夹时,你的代码会更容易阅读,而且只有一个函数会“凌乱”。然后它可以是
$FolderName=makeFolder(time())
或任何您想要传递来定义文件夹的内容。如果每一段代码我都要一遍又一遍地写,我几乎总是把它扔进一个函数中。