update : 2015.11.03
php.shukuma.com

검색:
 
 
디렉토리 핸들에서 엔트리를 읽습니다

readdir

(PHP 4, PHP 5, PHP 7)

readdir디렉토리 핸들에서 엔트리를 읽습니다

설명

string readdir ([ resource $dir_handle ] )

디렉토리에서 다음 파일의 파일명을 반환합니다. 반환하는 파일명의 순서는 파일시스템에 저장한 순서입니다.

인수

dir_handle

opendir()로 열린 디렉토리 핸들 resource. 디렉토리 핸들이 지정되지 않으면, opendir()로 열린 마지막 연결을 할당합니다.

반환값

성공시에는 파일명, 실패시에는 FALSE를 반환합니다.

Warning

이 함수는 논리 FALSE를 반환하지만, 논리 FALSE로 취급할 수 있는 다른 값을 반환할 수 있습니다. 자세한 정보는 논리형 섹션을 참고하십시오. 이 함수의 반환값을 확인하려면 === 연산자를 이용하십시오.

예제

Example #1 디렉토리 안의 모든 파일 목록

readdir()의 반환값은 아래 예제체럼 확인해야 하는 점에 주의하십시오. 반환값이 FALSE와 완전히 동일한지 (형까지 일치--자세한 정보는 비교 연산자를 참고하십시오) 확인하고 있습니다. 이렇게 하지 않으면, FALSE로 인식하는 디렉토리 엔트리에서 루프가 멈춥니다. (예. 디렉토리 이름이 "0")

<?php
// !== 은 4.0.0-RC2까지 존재하지 않았던 점에 주의하십시오.

if ($handle opendir('/path/to/files')) {
    echo 
"Directory handle: $handle\n";
    echo 
"Files:\n";

    
/* 디렉토리 안을 루프하는 올바른 방법입니다. */
    
while (false !== ($file readdir($handle))) {
        echo 
"$file\n";
    }

    
/* 디렉토리 안을 루프하는 *잘못된* 방법입니다. */
    
while ($file readdir($handle)) {
        echo 
"$file\n";
    }

    
closedir($handle); 
}
?>

Example #2 ...을 제외한 현재 디렉토리의 모든 파일 목록

<?php
if ($handle opendir('.')) {
    while (
false !== ($file readdir($handle))) {
        if (
$file != "." && $file != "..") {
            echo 
"$file\n";
        }
    }
    
closedir($handle);
}
?>

참고

  • is_dir() - Tells whether the filename is a directory
  • glob() - Find pathnames matching a pattern
  • opendir() - 디렉토리 핸들을 엽니다
  • scandir() - 지정한 경로 안의 파일과 디렉토리 목록