2013-03-17 83 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; 

}