일반적으로 DIR이나 FILE 등을 활용해 현재 위치를 구해 경로를 제어하지만
실제 터미널과 같이 파일 시스템에서의 디렉토리 제어가 필요한 경우들이 있습니다.
opendir 등은 resource인 open directory handle를 반환합니다.
PHP의 현재 디렉토리를 변경합니다.
echo getcwd() . "\n";
chdir('public_html');
echo getcwd() . "\n";
/* result to:
/home/paric
/home/paric/public_html
*/
루트 디렉토리를 변경하고자 할 때 사용되는 함수입니다. 현재 작업 디렉토리를 "/"로 변경합니다.
이 기능은 GNU 및 BSD 시스템에서만 사용할 수 있으며 CLI, CGI 또는 Embed SAPI를 사용할 때만 사용할 수 있습니다. ※ 루트 권한이 필요합니다.
이 함수를 호출해도 DIR 및 FILE매직 상수의 값은 변경되지 않습니다.
- Windows에서 구현되지 않습니다.
- ZTS(Zend Thread Safety)가 활성화된 PHP 인터프리터에서는 사용할 수 없습니다.
chroot("/path/to/your/chroot/");
echo getcwd();
/* result to :
/
*/
현재 작업 디렉토리를 가져옵니다.
PHP 인터프리터가 ZTS(Zend Thread Safety)가 활성화된 상태로 빌드된 경우 getcwd()가 반환하는 현재 작업 디렉터리는 운영 체제 인터페이스에서 반환된 디렉터리와 다를 수 있습니다.
지정된 경로 내에 있는 파일 및 디렉토리를 배열로 반환합니다.
closedir() , readdir() 및 rewinddir() 호출에서 사용할 디렉토리 핸들을 엽니다.
dir_handle로 표시된 디렉토리 스트림을 닫습니다. 스트림은 이전에 opendir() 에 의해 열려 있어야 합니다 .
$dir = "/etc/php5/";
// 디렉토리를 열고 디렉토리를 변수로 읽은 다음 닫습니다.
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
$directory = readdir($dh);
closedir($dh);
}
}
디렉토리에서 다음 항목의 이름을 반환합니다. 항목은 파일 시스템에 저장된 순서대로 반환됩니다.
PHP8부터 $dir_handle은 nullalbe해 졌습니다. $dir_handle 값이 null일 경우opendir()에 의해 열린 마지막 링크로 가정됩니다.
dir_handle로 표시된 디렉토리 스트림을 디렉토리의 시작 부분으로 재설정합니다.
readdir()을 실행할 때 마다 커서가 옮겨지게되는데 이를 초기화하는 함수라 보면 됩니다.