본문 바로가기

Dev/PHP

PHP 파일(및 폴더)체크 함수

(갈수록 포스팅할때 이것저것 쓰기가 귀찮아 진다..OTL

공들일 시간이 없는게 아쉽기도 하고ㅋ 앞으론 포인트만 짚어서 포스팅 할까 생각중이다..)



대략적인 홈페이지류의 시스템 골격이 완성되다 보니, 살을 붙이는 과정에서 여러가지 기능들을 배우고 사용하게 되었다.


그중 파일이나 그 경로를 체크하는 함수가 필요하다는 점인데..



대표적으로는 파일과 경로에 상관없이 문자열을 받아 점검할 수 있는 함수가 있다.


bool file_exists ( string $filename )

출처 : http://kr1.php.net/file_exists



그와 다르게, '파일만'(이것이 함수가 다른 이유의 포인트) 혹은 '경로(디렉터리)만' 체크하는 함수도 있다.


bool is_file ( string $filename )

출처 : http://www.php.net/manual/kr/function.is-file.php


bool is_dir ( string $filename )

출처 : http://www.php.net/manual/kr/function.is-dir.php



사견 : 어떻게 보면 file_exists라는 함수가 효율이 높다고 할 수 있을지도 모르겠지만(파일,경로 상관없이 체크하니까) 직접적인 기능부분에서는 is_file or is_dir로 최종적인 유무판단을 해주어야 좀 더 바람적인 시스템이라고 할 수 있다고 본다.


file_exists는 구조상의 이유로 잘못쓰이게 될 경우 잠재적인, 예기치 못한 오류(파일명이 없는대도 경로가 존재하여 TRUE를 반환한다던가..)를 포함할 수 있기 때문에,

빈틈없는 예외처리를 하지 않았다면 'file_exists' 함수는 말그대로 Check를 하는 용도로만 사용하시길..