PHP 디 렉 터 리 트 리 읽 기 구현 방법 분석
얼마 전 면접 XX 회사 필기시험 문제 에 이런 문제 가 있 었 습 니 다.
디 렉 터 리 트 리 를 PHP 로 보 여 줍 니 다!
그 때 는 보 자마자 멍 해 졌 다!기본 적 인 사 고 는 있 습 니 다.재 귀 알고리즘 을 사용 하 는 것 에 불과 하지만 PHP 가 디 렉 터 리 파일 을 조작 하 는 방법 에 대해 잘 모 르 기 때문에 오늘 잘 복습 하 세 요!
문제 풀이 방향:
1.디 렉 터 리 에 있 는 파일 을 보 여 줍 니 다.
2.디 렉 터 리 여 부 를 판단 하고 디 렉 터 리 라면 계속 재 귀적 합 니 다.
3.모든 파일 이름 을 다 차원 배열 에 저장 합 니 다.
<?php
function recurDir($pathName)
{
// result
$result = array();
$temp = array();
//
if(!is_dir($pathName) || !is_readable($pathName)) {
return null;
}
// , scandir
$allFiles = scandir($pathName);
//
foreach($allFiles as $fileName) {
// . .. 。。。
if(in_array($fileName, array('.', '..'))) {
continue;
}
//
$fullName = $pathName.'/'.$fileName;
//
if(is_dir($fullName)) {
//
$result[$fullName] = recurDir($fullName);
}else {
//
$temp[] = $fullName;
}
}
//
if($temp) {
foreach($temp as $f) {
$result[] = $f;
}
}
return $result;
}
// !
$tree = recurDir('cart_ajax');
echo "<pre>";
print_r($tree);
echo "</pre>";
?>
cart_ajax 폴 더 구조js 폴 더 의 내용
결과 보이 기
큰 성 과 를 거 두 었 다!디 렉 터 리 의 등급 은 확실히 이 렇 습 니 다.하지만 너무 낮 아 보 입 니 다!살짝 미화 해 주세요!
function beautifulTree($arr, $l = '-|')
{
static $l = '';
static $str = '';
//
foreach($arr as $key=>$val) {
// , , -|
if(is_array($arr[$key])) {
$str.=$l.$key."<br/>";
$l.='-|';
beautifulTree($arr[$key], $l);
}else {
$str.=$l.$val."<br/>";
}
}
$l = '';
return $str;
}
$beautifulTree = beautifulTree($tree);
echo "<pre>";
print_r($beautiful);
echo "</pre>";
결과 보이 기더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.