2013-03-17 4 views
0

У меня есть простой скрипт, который все, что мне нужно, это создать каталог с именем переменной GET. Когда я запускаю этот скрипт, он, похоже, не создает каталог. Я хотел бы, чтобы этот каталог находился в том же каталоге, что и файл PHP.PHP Mkdir не будет работать

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

Что вы делаете, это невероятно опасно. Поскольку это прямо сейчас, я могу создавать каталоги в любом месте вашего сервера, к которому имеет доступ сервер. ** Всегда ** убедитесь, что при касании файловой системы разрешенный путь (с '../' и что нет) - это то место, где вы ожидаете. Не позволяйте вашим пользователям определять имена файлов или что-то в этом роде. В противном случае вы откроете себе кошмар безопасности. – Brad

ответ

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; 

} 
Смежные вопросы