realpath 함수
(PHP 4, PHP 5, PHP 7, PHP 8)
realpath — 정규화된 절대 경로 이름을 반환합니다.
설명
realpath(string $path
): string|false
realpath()는 모든 심볼릭 링크를 확장하고 입력 path
의 /./, /../ 및 추가 / 문자에 대한 참조를 확인하고 정규화된 절대 경로 이름을 반환합니다.
매개변수
path
- 확인 중인 경로입니다.
메모: 경로를 제공해야 하지만 값은 빈 문자열일 수 있습니다. 이 경우 값은 현재 디렉토리로 해석됩니다.
반환 값
성공 시 정규화된 절대 경로 이름을 반환합니다. 결과 경로에는 기호 링크, /./ 또는 /../ 구성 요소가 없습니다. \ 및 /와 같은 후행 구분 기호도 제거됩니다.
realpath()는 실패 시 false
를 반환합니다. 파일이 존재하지 않는 경우.
메모: 실행 중인 스크립트에는 계층의 모든 디렉토리에 대한 실행 권한이 있어야 합니다. 그렇지 않으면 realpath()가 false
를 반환합니다.
메모: 대소문자를 구분하지 않는 파일 시스템의 경우 realpath()는 대소문자를 정규화하거나 정규화하지 않을 수 있습니다.
메모: realpath() 함수는 Phar 내부에 있는 파일에 대해 작동하지 않습니다. 이러한 경로는 실제 경로가 아닌 가상 경로이기 때문입니다.
메모: Windows에서 디렉토리에 대한 접합 및 기호 링크는 한 수준으로만 확장됩니다.
메모: PHP의 정수 유형은 부호가 있고 많은 플랫폼이 32비트 정수를 사용하기 때문에 일부 파일 시스템 함수는 2GB보다 큰 파일에 대해 예기치 않은 결과를 반환할 수 있습니다.
Examples
예제 #1 realpath() 예제
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd') . PHP_EOL;
echo realpath('/tmp/') . PHP_EOL;
?>
위의 예는 다음을 출력합니다.
/etc/passwd /tmp
예제 #2 Windows의 realpath()
Windows에서 realpath()는 유닉스 스타일 경로를 Windows 스타일로 변경합니다.
<?php
echo realpath('/windows/system32'), PHP_EOL;
echo realpath('C:\Program Files\\'), PHP_EOL;
?>
위의 예는 다음을 출력합니다.
C:\WINDOWS\System32 C:\Program Files
기타
- basename() - 경로의 후행 이름 구성 요소를 반환합니다.
- dirname() - 상위 디렉토리의 경로를 반환
- pathinfo() - 파일 경로에 대한 정보를 반환합니다.