English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP에서 다중 단계 디렉토리를 생성하는 두 가지 방법

PHP는 디렉토리 생성에 대한 특별한 함수 mkdir()를 제공합니다: 성공 시 true를 반환하고, 실패 시 false를 반환합니다

mkdir 함수는 네 가지 매개변수를 가집니다:

path: 생성할 디렉토리 이름

mode: 권한. 기본적으로는 0입니다777(최대 권한)

recursive: 다중 레벨 디렉토리를 생성할 수 있는지 설정합니다 (true: 가능, false: 불가능)

context: 파일 핸들 환경. context는 흔히 사용되지 않는 옵션 세트로, 흐름의 행동을 수정할 수 있습니다

아래에서 php가 다중 레벨 디렉토리를 생성하는 두 가지 방법을 소개합니다. 자세한 내용은 다음과 같습니다:

1.재귀적 사고를 사용하여

function mkdirs_2($path){
if(!is_dir($path)){
mkdirs_2(dirname($path));
if(!mkdir($path, 0777)){
return false;
}
}
return true;
}
/* http://www.manongjc.com/article/1331.html */
$path2 = 'sdfs/sds/sds/s/s/sss';
var_dump(mkdirs_2($path2)); //true;

1.이론은 주로 재귀를 사용하여 dir를 먼저 생성한 후 dir를 생성합니다/css,를 생성하는 중입니다...

2. 재귀는 스택에 넣는 과정입니다, 따라서 먼저 dir을 넣어,/css/js/php/ok 먼저 스택에 넣으면, 그것은 마지막에 나오게 됩니다... 다른 것들은 이야기하지 않겠습니다.

3.dirname(path)는 path에서 마지막 디렉토리를 제외한 값을 반환합니다, 즉 첫 번째로 반환은: dir/css/js/php,,, 두 번째로 dir을 반환/css/js,,, 마지막 것은 ./

2. 직접 mkdir()를 사용하여 생성, 세 번째 매개변수는 true여야 다중 경로를 자동으로 생성할 수 있습니다

function mkdirs_1($path, $mode = 0777){
if(is_dir($path)){
return '생성 불가, 이미 디렉토리';
}else{
if(mkdir($path, $mode, true)) {
return '성공';
}else{
return '실패';
}
}
}
/* http://www.manongjc.com/article/1332.html */
$path1 = 'a/b/c/d/e';
var_dump(mkdirs_1($path1)); //문자 '성공' (길이=12)

위에 소개한 PHP이 다중 경로를 생성하는 두 가지 방법을 소개했습니다. 많은 도움이 되길 바랍니다. 어떤 질문이나 의문이 있으면 댓글을 남겨 주시면, 편집자가 즉시 답변 드리겠습니다. 또한, 언어 튜토리얼 웹사이트에 대한 지원에 감사드립니다!

고지: 본 내용은 인터넷에서 가져왔으며, 저작권자는 본인입니다. 인터넷 사용자가 자발적으로 기여하고 업로드한 내용으로, 본 사이트는 소유권을 가지지 않으며, 인공 편집 처리를 하지 않았으며, 관련 법적 책임도 부담하지 않습니다. 저작권 침해가 의심되는 내용이 있으면 이메일로 notice#w에 보내 주시기 바랍니다.3codebox.com에 이메일을 보내서 (#을 @으로 변경하여) 신고하시고 관련 증거를 제공해 주시면, 해당 저작권 침해 내용이 확인되면 즉시 삭제됩니다.

추천해 주세요