Detect file attribute function

Let’s take a screenshot of the installation process of discuz, a very famous software in China:
                                                QQ截图20161009105100.png

The above example is a typical usage of file detection.

Let’s learn the following batch of functions. Then, let's learn through an example.

bool file_exists ($specify file name or file path)

Function: whether the file exists.

bool is_readable ($specifies the file name or file path)

Function: whether the file is readable

bool is_writeable ($specifies the file name or file path)

Function: whether the file is readable Writable

bool is_executable ($specifies the file name or file path)

Function: whether the file is executable

bool is_file ($specifies the file name or file path)

Function: Whether it is a file

bool is_dir ($specifies the file name or file path)

Function: whether it is a directory

void clearstatcache (void)

Function: clear the status cache of the file

The above functions are clear at a glance. As for the experiment, let’s write the example we gave at the beginning.

Let’s talk about the first example, file lock. If it has been installed, if the installation lock exists, it will prompt that it has been installed, otherwise, the installation will continue.

We assume that the URL of the installation interface is: install.php, and the installed lock file is install.lock. We can detect whether the install.lock file exists.

<?php
 if(file_exists('install.lock')){
     echo '已安装,请不要再次进行安装';
    exit;
 
}
?>

Let’s do a file installation detection experiment to detect whether the file or directory has write or read permissions. If not, the installation cannot be performed.

The idea of ​​​​handling this matter is as follows:

1. Define a batch of arrays that need to detect permissions

2. You can detect whether it is a folder or a file

3. Make a set variable. If the set variable is false, the next step of installation will not be displayed.

<?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 '不能进行安装';
}
?>

Through the above example, we have done it. Implement installation detection during the installation process of a certain PHP software.

This is the realization of our above ideas.


Continuing Learning
||
<?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 '不能进行安装'; } ?>
submitReset Code