PHP에서 특정 경로에 폴더나 파일이 존재하는지 확인하려면 is_dir() 또는 is_file() 함수를 사용하면 됩니다.
scandir() 함수는 지정한 디렉터리 안에 있는 파일과 하위 디렉터리 목록을 배열 형태로 반환하는 PHP 내장 함수입니다. 사용자가 지정한 경로 내부의 모든 항목을 손쉽게 나열할 수 있어, 디렉터리 탐색 작업에서 가장 널리 활용되는 함수 중 하나입니다.
사용 예제
$scan = scandir('myFolder');
foreach($scan as $file) {
if (!is_dir("myFolder/$file")) {
echo $file.'\n';
}
}실행 결과
지정한 경로 안에 있는 파일과 디렉터리 목록 출력
위 예제에서는 scandir() 함수를 사용해 'myFolder' 디렉터리를 스캔하고, 그 안에 포함된 파일과 디렉터리들을 배열로 받아옵니다. 이후 foreach 반복문으로 각 항목을 하나씩 순회하면서, is_dir() 함수를 통해 해당 항목이 디렉터리가 아닌 경우(즉, 일반 파일인 경우)에만 화면에 출력합니다.
참고로 scandir()가 반환하는 배열에는 현재 디렉터리를 의미하는 '.'과 상위 디렉터리를 의미하는 '..'도 함께 포함되므로, 실제 프로젝트에서는 이 두 항목을 제외하는 조건문을 추가하는 것이 좋습니다. 또한 경로가 존재하지 않거나 접근 권한이 없는 경우 false를 반환하므로, 반환값 검증 과정을 함께 구현하면 더욱 안정적인 코드를 작성할 수 있습니다.