>  기사  >  백엔드 개발  >  loss.dir은 어떤 폴더입니까? PHP를 사용하여 폴더와 하위 디렉터리를 탐색하는 함수 코드입니다.

loss.dir은 어떤 폴더입니까? PHP를 사용하여 폴더와 하위 디렉터리를 탐색하는 함수 코드입니다.

WBOY
WBOY원래의
2016-07-29 08:46:481394검색

우리가 사용할 기능은 Dir과 마찬가지로 지정된 경로에 있는 파일과 디렉터리를 나열하는 Scandir입니다.

 使用PHP遍历文件夹与子目录的函数代码
> 그리고 지정된 패턴과 일치하는 파일 이름이나 디렉터리를 배열 형식으로 반환하는 더욱 강력한 Glob() 함수도 있습니다.
> 주의할 점은 샤오시처럼 컴퓨터 앞에 너무 오래 있지 마세요. 그렇지 않으면 샤오시처럼 고혈당에 걸릴 것입니다.
1. 단일 레이어 폴더 탐색:
> 단일 레이어 폴더를 스캔할 때의 문제점은 두 기능의 결과는 다르지만 성능은 크게 다르지 않다는 것입니다.
> Scandir 기능은 "."과 ".."라는 두 개의 추가 라인을 제공하지만 Glob은 그렇지 않습니다.

코드 복사 코드는 다음과 같습니다.


function get_dir_scandir(){
$tree = array();
foreach(scandir('./') as $single){
echo $single."
rn"
}
}
get_dir_scandir(); 🎜>function get_dir_glob(){
$tree = array();
foreach(glob('./*') as $single){
echo $single."
rn ";
}
}
get_dir_glob();

2. 파일 트리를 재귀적으로 순회합니다.
> 폴더 트리를 재귀적으로 검색하는 문제에서, 정확하게 말하자면 Glob 기능의 성능은 여전히 ​​동일합니다.
> Scandir 기능은 ../에 있는 파일을 두 번 스캔합니다. 즉, Xiaoxie에 두 개의 파일이 있는 경우입니다.
> ../b.php 및 ../a.php, 결과는 스캔 보고서에 두 번 표시되는데 이는 매우 이상합니다.

코드 복사 코드는 다음과 같습니다.

//2010.07.25 업데이트 - 다음 코드는 유효하지 않습니다
$path = ' ..';
function get_filetree_scandir($path){
$tree = array()
foreach(scandir($path) as $single){
if(is_dir ('../ '.$single)){
$tree = array_merge($tree,get_filetree($single))
}
else{
$tree[] = '.. /'.$single ;
}
}
return $tree;
}
print_r(get_filetree_scandir($path))//2010.07.25에 업데이트 - 다음 새 코드입니다
$path = './';
function get_filetree_scandir($path){
$result = array()
$temp = array()
!is_dir($path)| |!is_reader($path)) return null; //디렉토리 유효성 확인
$allfiles = scandir($path) //디렉터리의 모든 파일과 폴더 가져오기
$allfiles as $filename) { //디렉터리의 파일과 폴더를 탐색합니다.
if (in_array($filename,array('.','..'))) continue; 🎜>$fullname = $path.'/'.$filename; //전체 파일 경로 가져오기
if (is_dir($fullname)) { //디렉토리인 경우 재귀 계속
$result [$filename] = get_filetree_scandir($fullname) ; //재귀 시작
}
else {
$temp[] = $filename; //파일이면 배열에 저장
}
}
foreach ($temp as $tmp) { //임시 배열의 내용을 결과를 저장하는 배열에 저장합니다.
$result[] = $tmp; 앞에는 정렬할 폴더, 뒤에는 파일
return $result;
}
print_r(get_filetree_scandir($path))


> ; Glob 기능 스캔은 매우 정확하며 자동으로 알파벳순으로 순서를 정렬하는데, 이것이 최선의 계획인 것 같습니다.


코드 복사

코드는 다음과 같습니다.$path = '..' function get_filetree($ 경로){

$tree = array();

foreach(glob($path.'/*') as $single){
if(is_dir($single)){
$tree = array_merge( $tree,get_filetree($single));
}
else{
$tree[] = $single;
}
return $tree; >}
print_r(get_filetree($path))



위 내용은 Lost.dir 폴더가 무엇인지에 대한 함수 코드와 Lost.dir 폴더의 내용을 포함하여 PHP를 사용하여 폴더와 하위 디렉터리를 탐색하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.