이 글은 주로 PHP의 재귀 함수를 사용하여 다단계 디렉토리를 만드는 방법을 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.
자세한 내용은 다음과 같습니다.
function Directory($dir){ if(is_dir($dir) || @mkdir($dir,0777)){ //查看目录是否已经存在或尝试创建,加一个@抑制符号是因为第一次创建失败,会报一个“父目录不存在”的警告。 echo $dir."创建成功<br>"; //输出创建成功的目录 }else{ $dirArr=explode('/',$dir); //当子目录没创建成功时,试图创建父目录,用explode()函数以'/'分隔符切割成一个数组 array_pop($dirArr); //将数组中的最后一项(即子目录)弹出来, $newDir=implode('/',$dirArr); //重新组合成一个文件夹字符串 Directory($newDir); //试图创建父目录 if(@mkdir($dir,0777)){ echo $dir."创建成功<br>"; } //再次试图创建子目录,成功输出目录名 } } Directory("A/B/C/D/E/F");
출력 결과는 그림과 같습니다.
하지만 매뉴얼에 있는 파일 기능을 보면 너무 번거롭다는 것을 알 수 있습니다. dirname() 함수, 그 중 프로토타입은 다음과 같습니다:
string dirname ( string $path )
파일의 전체 경로가 포함된 문자열이 주어지면 이 함수는 디렉터리 이름을 반환합니다. 파일 이름을 제거한 후.
Windows에서는 슬래시(/)와 백슬래시()를 모두 디렉터리 구분 기호로 사용할 수 있습니다. 다른 경우에는 슬래시(/)입니다.
약간 최적화 가능:
function Directory($dir){ if(is_dir($dir) || @mkdir($dir,0777)){ echo $dir."创建成功<br>"; }else{ Directory(dirname($dir)); if(@mkdir($dir,0777)){ echo $dir."创建成功<br>"; } } }
효과는 동일합니다.
나중에 인터넷에서 답변을 검색한 결과 매우 통찰력 있는 답변을 찾았습니다.:
function Directory( $dir ){ return is_dir ( $dir ) or Directory(dirname( $dir )) and mkdir ( $dir , 0777); }
이제 전체 기능을 설명하겠습니다.
먼저 PHP에서 논리 연산자의 우선 순위를 소개합니다: && > ; || > 및 > dir )) 및 mkdir ( $dir , 0777))
먼저 대상 디렉토리가 존재하는지 확인하십시오. 또는 단락 특성에 따라 다음 전체가 짧아집니다. -회로가 실행되고 대상 디렉터리가 없으면 다음 함수 본문을 실행합니다: Directory(dirname( $dir )) 및 mkdir ( $dir , 0777)
재귀를 먼저 수행하는 목적 : 먼저 재귀를 실행하여 상위 디렉터리(dirname($dir))가 생성되었는지 확인하므로 상위 디렉터리를 생성할 수 없을 때 후속 mkdir() 함수가 경고를 발행하지 않습니다. 하위 디렉터리를 만들 때 발견되었습니다. 재귀 깊이를 입력한 후, 가장 깊은 루트 디렉터리가 존재하는지 확인한 후, 루트 디렉터리부터 아래로 순서대로 디렉터리를 생성합니다.
마지막으로, 취업을 원하는 사람들에게 온라인으로 가서 대기업의 면접 질문을 찾아보라고 제안합니다. 결국, 이들의 시험은 더 포괄적이고 심층적이기 때문에 지식을 배울 때도 공부해야 합니다. 너무 야심차고 과소평가되기 쉽기 때문에 정상적으로 사용하기 전에 처음에 여러 번 최적화를 했습니다. 이것은 PHP에서 다단계 디렉토리를 재귀적으로 생성하는 것에 대한 인터뷰 질문입니다. 앞으로 편집자는 몇 가지 흥미로운 인터뷰 질문을 찾아 여러분과 공유할 것입니다.
요약
: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.
관련 권장사항: PHP에서 각각 및 목록 기능을 사용하는 방법
PHP 지리적 위치 검색 및 거리 계산위 내용은 PHP는 재귀 함수를 사용하여 다중 레벨 디렉토리를 생성합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

PHP 로깅은 웹 애플리케이션을 모니터링하고 디버깅하고 중요한 이벤트, 오류 및 런타임 동작을 캡처하는 데 필수적입니다. 시스템 성능에 대한 귀중한 통찰력을 제공하고 문제를 식별하며 더 빠른 문제 해결을 지원합니다.

Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

Alipay PHP ...

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

이 기사에서는 프레임 워크에 사용자 정의 기능 추가, 아키텍처 이해, 확장 지점 식별 및 통합 및 디버깅을위한 모범 사례에 중점을 둡니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

뜨거운 주제



