>  기사  >  백엔드 개발  >  PHP를 사용하여 하위 디렉터리의 모든 파일 이름을 읽는 방법에 대한 자세한 예

PHP를 사용하여 하위 디렉터리의 모든 파일 이름을 읽는 방법에 대한 자세한 예

伊谢尔伦
伊谢尔伦원래의
2017-07-08 11:49:271377검색

본 글의 예제는 PHP에서 디렉터리와 하위 디렉터리에 있는 모든 파일명을 읽는 방법을 설명한 것으로, 참고용으로 공유하고자 합니다. 구체적인 구현 방법은 다음과 같습니다.

일반적으로 PHP에서 디렉터리의 파일 이름을 읽는 방법은 여러 가지가 있습니다. 가장 간단한 방법은 scandir입니다.

코드는 다음과 같습니다.

$dir="./caxa/";
$file=scandir($dir);
print_r($file);

php manual에 따르면 조금 더 복잡합니다.

코드는 다음과 같습니다.

$dir = "/etc/php5/";
// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
} closedir($dh);
}
}

현재 지정된 디렉터리의 파일만 읽을 수 있지만 하위 디렉터리의 파일은 읽을 수 없습니다. 루프의 모든 디렉터리를 삭제하는 코드를 작성한 것으로 밝혀졌습니다. 여러 레이어를 포함하여 하위 디렉터리의 모든 파일을 하나씩 삭제해야 했습니다. 하지만 파일 이름만 읽어보면 되는데, 좀 더 복잡합니다. 온라인에서 작동하는 것을 찾았습니다. 원본 코드에는 다음과 같이 &$data에 대한 참조를 변경했습니다. 팔로우:

function searchDir($path,&$data){
if(is_dir($path)){
$dp=dir($path);
while($file=$dp->read()){
if($file!='.'&& $file!='..'){
searchDir($path.'/'.$file,$data);
}
}
$dp->close();
}
if(is_file($path)){
$data[]=$path;
}
}

function getDir($dir){
$data=array();
searchDir($dir,$data);
return   $data;
}
print_r(getDir('.'));

위 내용은 PHP를 사용하여 하위 디렉터리의 모든 파일 이름을 읽는 방법에 대한 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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