readdir 함수

함수 readdir는 opendir로 열린 디렉토리의 내용을 읽습니다. 각 호출마다 다음 파일의 이름을 반환하거나, 더 이상 파일이 없으면 false를 반환합니다. 함수는 디렉토리 내부의 위치 포인터를 유지합니다.

구문

phpreaddir(resource $dir_handle): string|false

예시

디렉토리 내 모든 파일 읽기:

php<?php
  $dir = opendir('/path/to/directory');
  
  while (($file = readdir($dir)) !== false) {
    echo $file . '<br>';
  }
  closedir($dir);
?>

코드 실행 결과 (출력 예시):

php"file1.txt"
"file2.jpg"
"subdirectory"

예시

특수 항목 '.' 및 '..' 필터링하기:

php<?php
  $dir = opendir('.');
  
  while (($file = readdir($dir)) !== false) {
    if ($file != '.' && $file != '..') {
      echo $file . '<br>';
    }
  }
  closedir($dir);
?>

코드 실행 결과 (실제 파일과 하위 디렉토리만 출력):

php'index.php'
'styles.css'
'images'

예시

모든 파일을 배열로 수집하기:

php<?php
  $files = [];
  if ($handle = opendir('/path/to/dir')) {
    while (false !== ($entry = readdir($handle))) {
      if ($entry != '.' && $entry != '..') {
        $files[] = $entry;
      }
    }
    closedir($handle);
  }
  print_r($files);
?>

코드 실행 결과:

phpArray
(
  [0] => "document.pdf"
  [1] => "image.png"
  [2] => "data.json"
)

함께 보기

  • 디렉토리 핸들을 여는 함수 opendir
  • 디렉토리의 모든 파일을 배열로 반환하는 함수 scandir