일부 학생들은 특히 파일 속성 감지가 어디에 사용되는지 궁금해합니다. 파일 속성 감지는 너무 많은 곳에서 사용될 수 있습니다.
예를 들어 보겠습니다.
1. 소프트웨어를 설치할 때 파일이 있으면 다른 위치로 이동합니다.
2. 설치 과정에서 일부 파일에 쓰기 권한이 없으면 설치가 허용되지 않습니다.
중국의 매우 유명한 소프트웨어인 discuz의 설치 과정을 스크린샷으로 찍어보겠습니다.
위의 예는 일반적인 파일 탐지 사용법입니다.
다음 함수 배치를 배워보겠습니다. 그럼, 예를 통해 배워보겠습니다.
bool file_exists ($파일 이름 또는 파일 경로 지정)
기능: 파일이 존재하는지 여부.
bool is_readable($파일 이름 또는 파일 경로 지정)
기능: 파일을 읽을 수 있는지 여부
bool is_writeable($specify 파일 이름 또는 파일 경로)
기능: 파일 쓰기 가능 여부
bool is_executable($는 파일 이름 또는 파일 경로 지정)
기능: 파일이 실행 가능한지 여부
bool is_file ($specify 파일 이름 또는 파일 경로)
기능: 파일인지 여부
bool is_dir ($specify 파일 이름 또는 파일 경로)
기능 : 디렉토리인지
voidclearstatcache(void)
기능 : 파일의 상태 캐시를 지운다
위 기능을 한눈에 알 수 있었습니다. 실험에 관해서는 처음에 제시한 예를 작성해 보겠습니다.
첫 번째 예인 파일 잠금에 대해 이야기해 보겠습니다. 설치된 경우 설치 잠금이 있으면 설치되었다는 메시지가 표시되고, 그렇지 않으면 설치가 계속됩니다.
설치 인터페이스의 URL은 install.php이고 설치된 잠금 파일은 install.lock이라고 가정합니다. install.lock 파일이 존재하는지 감지할 수 있습니다.
<?php if(file_exists('install.lock')){ echo '已安装,请不要再次进行安装'; exit; } ?>
파일이나 디렉터리에 쓰기 또는 읽기 권한이 있는지 확인하기 위해 파일 설치 감지 실험을 해보겠습니다. 그렇지 않으면 설치를 수행할 수 없습니다.
이 문제를 처리하는 아이디어는 다음과 같습니다.
1. 권한 감지가 필요한 배열 배치를 정의
2. 폴더인지 파일인지 감지 가능
3. 설정 변수를 만듭니다. 설정 변수가 false이면 다음 설치 단계가 표시되지 않습니다
<?php //可以定义一批文件是否存在 $files = [ 'config.php', 'img/', 'uploads/', ]; //定义标志位变量 $flag = true; foreach($files as $v){ echo $v; //判断是文件还是文件夹 if(is_file($v)){ echo '是一个文件 '; }else if(is_dir($v)){ echo '是一个文件夹 '; } if(is_readable($v)){ echo ' 可读'; }else{ echo '<font color="red">不可读</font>'; } if(is_writeable($v)){ echo '可写'; }else{ echo '<font color="red">不可写</font>'; } echo '<br />'; } if($flag){ echo '<a href="step1">下一步</a>'; }else{ echo '不能进行安装'; } ?>
Passed 위의 예에서는 성공했습니다. 특정 PHP 소프트웨어의 설치 프로세스 중에 설치 감지를 구현합니다.
이것이 우리의 위 아이디어의 실현입니다.