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

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

Dec 01, 2016 pm 01:13 PM
php

다음은 파일 존재 여부를 확인하는 간단한 예제 코드입니다.
코드 복사 코드는 다음과 같습니다.
<?php
$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"
/*파일 열기, 파일 이름 <timestamp> + < .xml>*/
$fp = fopen($filePathAndName, "w")
if(!$fp)
{
return false; >}
/*입력 파일 스트림 쓰기*/
$flag = fwrite($fp, $xmlData)
if(!$flag)
{
return false; }
fclose($fp )
return $filePathAndName
}

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

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

CakePHP 날짜 및 시간

CakePHP 프로젝트 구성 CakePHP 프로젝트 구성 Sep 10, 2024 pm 05:25 PM

CakePHP 프로젝트 구성

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

CakePHP 파일 업로드

CakePHP 라우팅 CakePHP 라우팅 Sep 10, 2024 pm 05:25 PM

CakePHP 라우팅

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP 토론

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

CakePHP 빠른 가이드 CakePHP 빠른 가이드 Sep 10, 2024 pm 05:27 PM

CakePHP 빠른 가이드

See all articles