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; 

} 
관련 문제