2013-02-15 46 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文件名

相關問題