파일 속성 감지 기능
국내에서 매우 유명한 소프트웨어를 소개하겠습니다. Discuz의 설치 과정을 스크린샷으로 보여드리겠습니다.
위의 예는 일반적인 파일 감지 사용법입니다.
다음 함수 배치를 배워보겠습니다. 그럼, 예를 통해 배워보겠습니다.
bool file_exists ($파일 이름 또는 파일 경로 지정)
기능: 파일이 존재하는지 여부.
bool is_readable($는 파일 이름 또는 파일 경로를 지정)
함수: 파일을 읽을 수 있는지 여부
bool is_writeable($는 파일 이름 또는 파일 경로를 지정)
함수 : 파일을 읽을 수 있는지 여부 쓰기 가능
bool is_executable($는 파일 이름 또는 파일 경로를 지정)
기능: 파일이 실행 가능한지 여부
bool is_file($는 파일 이름 또는 파일 경로를 지정) 파일 경로)
기능: 파일인지 여부
bool is_dir ($파일 이름 또는 파일 경로 지정)
기능: 디렉토리인지 여부
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 '不能进行安装'; } ?>
위의 예를 통해 우리는 해냈습니다. 특정 PHP 소프트웨어의 설치 프로세스 중에 설치 감지를 구현합니다.
이것이 우리의 위 아이디어의 실현입니다.