PHP는 파일 속성 감지 기...LOGIN

PHP는 파일 속성 감지 기능을 감지합니다.

일부 학생들은 특히 파일 속성 감지가 어디에 사용되는지 궁금해합니다. 파일 속성 감지는 너무 많은 곳에서 사용될 수 있습니다.

예를 들어 보겠습니다.

1. 소프트웨어를 설치할 때 파일이 있으면 다른 위치로 이동합니다.

2. 설치 과정에서 일부 파일에 쓰기 권한이 없으면 설치가 허용되지 않습니다.

중국의 매우 유명한 소프트웨어인 discuz의 설치 과정을 스크린샷으로 찍어보겠습니다.

document_2015-09-07_55eda1ec1ab58.png

위의 예는 일반적인 파일 탐지 사용법입니다.

다음 함수 배치를 배워보겠습니다. 그럼, 예를 통해 배워보겠습니다.

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 '是一个文件&nbsp;&nbsp;&nbsp;&nbsp;';
   }else if(is_dir($v)){
       echo '是一个文件夹&nbsp;&nbsp;&nbsp;&nbsp;';
   }

   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 소프트웨어의 설치 프로세스 중에 설치 감지를 구현합니다.

이것이 우리의 위 아이디어의 실현입니다.


다음 섹션
<?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 '不能进行安装'; } ?>
코스웨어