2013-03-17 43 views
0

我有一個簡單的腳本,我需要它做的就是創建一個名稱爲GET變量的目錄。當我運行這個腳本時,它似乎沒有創建目錄。我希望這個目錄和PHP文件在同一個目錄下。PHP Mkdir不會工作

$dir = $_GET['dir']; 
umask(000); 
mkdir($_SERVER['DOCUMENT_ROOT']."/".$dir."/",0777); 
+5

你在做什麼是非常危險的。就目前而言,我可以在服務器上的任何位置創建服務器可以訪問的目錄。 **總是**確保在觸摸文件系統時,已解析的路徑(帶有「../」和不是)是您期望的路徑。不要讓你的用戶定義任何文件名或類似的東西。否則,你會打開自己的安全噩夢。 – Brad 2013-03-17 03:45:24

回答

0

把一些錯誤處理放在那裏。大多數情況下,錯誤是不言而喻的。以下摘自PHP手冊的摘錄顯示瞭如何。

$rs = @mkdir($dirPath, 0777); 
if($rs) 
{ 

    // success 

}else{ 

    // print error information 
    echo 'an error occurred. Attempting create folder'; 
    echo '<br>dirPath: ' . $dirPath; 
    echo '<br>php_errormsg: ' . $php_errormsg; 

}