PHP에서 자주 쓰이는 디렉토리 관련 함수들에 대해 알아보자.
1. opendir() 함수와 closedir() 함수
opendir() 함수는 디렉토리 핸들을 연다. 디렉토리 핸들은 readdir() 함수 등 다른 디렉토리 관련 함수에서 사용된다.
closedir() 함수는 디렉토리 핸들을 닫는다.
$dh = opendir("/share/xtmci"); // 디렉토리 핸들을 연다. /* 디렉토리 관련 작업을 한다. */ closedir($dh); // 디렉토리 핸들을 닫는다.
2. readdir() 함수
readdir() 함수는 디렉토리 핸들로부터 파일이나 디렉토리의 이름을 읽는다. 읽는 순서는 파일시스템에서 파일이나 디렉토리가 저장된 순서이다. 읽기에 실패한 경우 false 를 리턴한다.
디렉토리 안에 있는 파일이나 디렉토리를 디렉토리 엔트리 (entry) 라고 한다.
$dh = opendir("/share/xtmci"); // 디렉토리 핸들을 연다. while (($entry = readdir($dh)) !== false) { // 디렉토리 엔트리를 읽는다. echo $entry . "<br>"; // 디렉토리 엔트리를 출력한다. } closedir($dh); // 디렉토리 핸들을 닫는다.
3. rewinddir() 함수
rewinddir() 함수는 디렉토리 핸들을 초기화한다. 디렉토리를 처음부터 다시 읽을 필요가 있을 때 이 함수를 쓴다. 리턴값은 없다.
$dh = opendir("/share/xtmci"); // 디렉토리 핸들을 연다. while (($entry = readdir($dh)) !== false) { // 디렉토리 엔트리를 읽는다. echo $entry . "<br>"; // 디렉토리 엔트리를 출력한다. } rewinddir($dh); // 디렉토리 핸들을 초기화한다. // 디렉토리 엔트리를 처음부터 다시 읽는다. while (($entry = readdir($dh)) !== false) { echo $entry . "<br>"; // 디렉토리 엔트리를 출력한다. } closedir($dh); // 디렉토리 핸들을 닫는다.