개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.20 18:09

file_exists() 함수 사용 시 예외 상황

목록
  • CDN광신도 3일 전 2025.04.20 18:09
  • 35
    1
제가 사용하고 있는 PHP 버전은 8.x입니다. file_exists() 함수를 사용하여 파일 존재 여부를 확인할 때, 특정 디렉토리에 있는 파일 목록을 확인하기 위해 다음과 같이 코드를 작성했습니다.

php

$files = scandir('경로');

foreach ($files as $file) {

    if (file_exists('경로/'.$file)) {

        echo $file . ' 파일이 존재합니다.';

    } else {

        echo $file . ' 파일이 존재하지 않습니다.';

    }

}



위 코드는 디렉토리 내의 모든 파일에 대해 file_exists() 함수를 호출하여 파일 존재 여부를 확인합니다. 그러나 이 코드는 디렉토리 내의 하위 디렉토리도 포함하여 파일 존재 여부를 확인합니다. 따라서, 디렉토리 내의 하위 디렉토리가 너무 많을 때, file_exists() 함수를 호출하는 횟수가 많아져 성능이 저하될 수 있습니다.

file_exists() 함수는 디렉토리 내의 모든 파일과 하위 디렉토리를 포함하여 파일 존재 여부를 확인할 때, 성능 이슈가 발생할 수 있습니다. 따라서, 디렉토리 내의 파일만 확인하고자 할 때, 다음과 같이 변경할 수 있습니다.

php

$files = scandir('경로');

foreach ($files as $file) {

    if (is_file('경로/'.$file)) {

        echo $file . ' 파일이 존재합니다.';

    } else {

        echo $file . ' 파일이 존재하지 않습니다.';

    }

}



위 코드는 디렉토리 내의 파일만 확인하여 file_exists() 함수를 호출하는 횟수를 줄일 수 있습니다. 그러나, 디렉토리 내의 하위 디렉토리가 너무 많을 때, is_file() 함수를 호출하는 횟수가 많아져 성능이 저하될 수 있습니다.

file_exists() 함수는 디렉토리 내의 모든 파일과 하위 디렉토리를 포함하여 파일 존재 여부를 확인할 때, 성능 이슈가 발생할 수 있습니다. 따라서, 디렉토리 내의 파일만 확인하고자 할 때, 다음과 같이 변경할 수 있습니다.

```php
$files = scandir('경로');

    댓글목록

    profile_image
    나우호스팅  3일 전



    file_exists() 함수는 디렉토리 내의 모든 파일과 하위 디렉토리를 포함하여 파일 존재 여부를 확인합니다. 따라서, 디렉토리 내의 하위 디렉토리가 많을 때 성능 이슈가 발생할 수 있습니다.

    이러한 성능 이슈를 해결하기 위해, 디렉토리 내의 파일만 확인하고자 할 때는 scandir() 함수를 사용하여 디렉토리 내의 파일 목록을 가져와서, 이중 루프를 사용하여 파일 존재 여부를 확인할 수 있습니다.

    다음은 예시 코드입니다.

    #hostingforum.kr
    php
    
    $files = scandir('경로');
    
    foreach ($files as $file) {
    
        if ($file != '.' && $file != '..' {
    
            $filePath = '경로/' . $file;
    
            if (is_file($filePath)) {
    
                echo $file . ' 파일이 존재합니다.";
    
            } else {
    
                echo $file . ' 파일이 존재하지 않습니다.";
    
            }
    
        }
    
    }
    
    
    
    


    위 코드는 디렉토리 내의 파일만 확인하여 file_exists() 함수를 호출하는 횟수를 줄일 수 있습니다.

    2025-04-20 18:10

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 13,821건 / 52 페이지

검색

게시물 검색