-
- $filename = '/path/to/foo.txt';
- if (file_exists($filename)) {
- echo "$filename 파일이 존재합니다";
- } else {
- echo "$filename 파일이 존재하지 않습니다";
- }
- ?>
복사 코드
파일이 존재하는 경우 PHP 파일을 실행하면 표시되는 결과는 다음과 같습니다. C:blablaphello.txt 파일이 존재합니다.
파일이 존재하지 않는 경우 PHP 파일을 실행하면 다음과 같은 결과가 표시됩니다: C:blablaphello.txt 파일이 존재하지 않습니다.
file_exists 함수를 사용하여 디렉토리가 존재하는지 테스트할 수도 있습니다. 샘플 코드는 다음과 같습니다.
-
- if (file_exists("C:blablaphp"))
- {echo "yes";}
- else
- {echo "no";}
- ?>
코드 복사
예
-
- /**
- * 파일 또는 디렉터리 권한 확인 기능
- *
- * @access public
- * @param string $file_path 파일 경로
- * @param bool $rename_prv 확인 시 rename 실행 확인 여부 수정 권한 () 함수 권한
- *
- * @return int 반환 값의 값 범위는 {0 <= x <= 15}이며, 각 값의 의미는 다음의 조합에서 파생될 수 있습니다. 네 개의 이진수.
- * 반환 값은 이진 표기법으로 되어 있습니다. 네 자리 숫자는 각각
- * 실행 가능한 rename() 함수 권한, 파일에 콘텐츠를 추가할 수 있는 권한, 파일 쓰기 권한, 파일을 읽을 수 있는 권한을 나타냅니다. .
- */
- 함수 file_mode_info($file_path)
- {
- / * 존재하지 않으면 읽을 수 없고, 쓸 수 없고, 변경할 수 없습니다*/
- if (!file_exists($file_path))
- {
- return false;
- }
- $mark = 0 ;
- if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN')
- {
- /* 테스트 파일*/
- $test_file = $file_test.txt ' ;
- /* 디렉토리인 경우*/
- if (is_dir($file_path))
- {
- /* 디렉토리를 읽을 수 있는지 확인*/
- $dir = @opendir ($file_path) ;
- if ($dir === false)
- {
- return $mark; //디렉토리 열기에 실패하면 수정, 쓰기 또는 편집이 불가능한 디렉토리로 직접 복귀합니다. read
- }
- if (@readdir($dir) !== false)
- {
- $mark ^= 1; //디렉토리를 읽을 수 있음 001, 디렉터리를 읽을 수 없음 000
- }
- @closedir($dir);
- /* 디렉토리에 쓰기 가능한지 확인*/
- $fp = @fopen($test_file, 'wb');
- if ($fp == = false)
- {
- return $ mark; //디렉토리에 파일 생성에 실패하면 쓰기 불가능을 반환합니다.
- }
- if (@fwrite($fp, '디렉터리 액세스 테스트.') !== false)
- {
- $mark ^= 2 //디렉터리 쓰기 및 읽기 가능 011, 디렉토리 쓰기는 가능하지만 읽기는 불가능 010
- }
- @fclose($fp);
- @unlink($test_file);
- /* 디렉토리 수정 가능 여부 확인*/
- $fp = @fopen( $test_file, 'ab ');
- if ($fp === false)
- {
- return $mark;
- }
- if (@fwrite($fp, " 수정 테스트 rn") !== false)
- {
- $mark ^= 4;
- }
- @fclose($fp);
- /* rename() 함수가 있는지 확인하세요. Permissions*/
- if (@rename($test_file, $test_file) !== false)
- {
- $mark ^= 8;
- }
- @unlink 디렉토리에서 실행되었습니다. ($test_file);
- }
- /* 파일인 경우*/
- elseif (is_file($file_path))
- {
- /* 읽기 모드로 열기*/
- $fp = @fopen($ file_path, 'rb');
- if ($fp)
- {
- $mark ^= 1; //읽기 가능 001
- }
- @fclose($ fp);
- /* 파일 수정 시도*/
- $fp = @fopen($file_path, 'ab ');
- if ($fp && @fwrite($fp, '') ! == false)
- {
- $mark ^= 6; //수정, 쓰기 및 읽기 가능 111, 수정, 쓰기 및 읽기 불가 011...
- }
- @fclose($ fp);
- /* 디렉터리에 rename() 함수를 실행할 권한이 있는지 확인*/
- if (@rename($test_file, $test_file) !== false)
- {
- $ mark ^= 8;
- }
- }
- }
- else
- {
- if (@is_reader($file_path))
- {
- $mark ^= 1;
- }
- if (@ is_writable($file_path))
- {
- $mark ^= 14;
- }
- }
- return $mark;
- }
- ?>
코드 복사
디렉토리 존재 여부를 확인하는 PHP의 예:
-
- /*---------------
- * 스트림 xml 데이터 , xml 파일에 기록됨
- * @param $xmlData
- * @return bool|string
- */
- function writeXmlFile($xmlData)
- {
- $time = time() / /파일 이름을 지정하는 데 사용되는 타임스탬프 가져오기
- $path = dirname(__FILE__); //현재 절대 경로 가져오기
- $path = substr_replace($path, "", Stripos($path, "actionsdata " )); //이 파일의 고유 경로를 빈
- $path .= "xmlFiles"; //저장 디렉터리 이름
- /*대상 디렉터리가 있는지 확인하고, 없으면 새로 만듭니다.* /
- if(!is_dir($path))
- {
- mkdir($path); //새 디렉터리 생성
- }
- /*전체 경로와 파일 이름을 기록하세요*/
- $filePathAndName = $path.$time.".xml";
- /*파일을 엽니다. 파일 이름은 */
- $fp = fopen($filePathAndName , "w" );
- if(!$fp)
- {
- return false;
- }
- /*파일 스트림 쓰기*/
- $flag = fwrite($fp, $xmlData) ;
- if(!$flag)
- {
- false 반환;
- }
- fclose($fp);
- return $filePathAndName;
- }
- ?>
코드 복사
|