2013-02-15 48 views
0

我有一个变量:什么是最简洁的方式来定义这样的变量?

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

因为我可能会使用这个脚本我正在写一个Windows计算机上,有输出冒号,我需要做的事:

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

我觉得在函数内部有太多的函数是草率的。什么是最好的方式去做这件事?

+1

你的做法是正确的无效。 :)。以同样的方式做。 – 2013-02-15 04:13:00

+1

为什么在函数参数中使用函数马虎?你现在在做什么不仅容易阅读......这是常见的做法!在简单情况下,它远远超过必须设置和取消设置临时变量或编写不再被使用的利基函数。 – anditpainsme 2013-02-15 04:13:47

+0

或。创建一个函数,如:'makeFolder(param)',并且在该函数中可以具有上述逻辑。至少当你制作文件夹时,你的代码会更容易阅读,只有你的一个功能会变得“杂乱”。然后它可以是'$ FolderName = makeFolder(time())'或者任何你想传入的内容来定义文件夹。 如果每一个代码都需要一遍又一遍地写,我几乎总是把它扔在一个函数中。 – Leeish 2013-02-15 04:14:04

回答

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文件名

相关问题