>백엔드 개발 >PHP 튜토리얼 >PHP에 파일이나 디렉토리가 존재하는지 확인하는 코드 요약

PHP에 파일이나 디렉토리가 존재하는지 확인하는 코드 요약

高洛峰
高洛峰원래의
2016-12-01 13:13:411067검색

다음은 파일 존재 여부를 확인하는 간단한 예제 코드입니다.
코드 복사 코드는 다음과 같습니다.
$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 * 반환 값은 이진 표기법이며, 높은 숫자에서 낮은 숫자로 각각
* 실행 가능한 rename() 함수 권한, 파일에 콘텐츠 추가 권한, 파일 쓰기 권한, 파일 읽기 권한을 나타냅니다.
*/
function 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_path .
/* 디렉터리인 경우*/
if (is_dir($file_path))
{
/* 디렉터리를 읽을 수 있는지 확인하세요*/
$dir = @opendir($file_path)
if ($dir === false)
{
return $mark; //if 디렉터리 열기에 실패하고 수정, 쓰기 또는 읽을 수 없는 디렉터리로 직접 반환됩니다.
}
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)
{
$ 표시 ^= 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) //Create 새 디렉터리
}
/*전체 경로 및 파일 이름 기록*/
$filePathAndName = $path.$time.".xml"
/*파일 열기, 파일 이름 + < .xml>*/
$fp = fopen($filePathAndName, "w")
if(!$fp)
{
return false; >}
/*입력 파일 스트림 쓰기*/
$flag = fwrite($fp, $xmlData)
if(!$flag)
{
return false; }
fclose($fp )
return $filePathAndName
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.