ファイル属性検出機能LOGIN

ファイル属性検出機能

中国で非常に有名なソフトウェアである discuz のインストール プロセスのスクリーンショットを撮って、みんなに見てもらいましょう。 -
QQ截图20161009105100.png上記の例は、ファイル検出の典型的な使用法です。

次の一連の関数を学習しましょう。それでは、例を通して学びましょう。

bool file_exists ($specify ファイル名またはファイルパス)

機能: ファイルが存在するかどうか。


bool is_readable ($はファイル名またはファイルパスを指定します)

関数: ファイルが読み取り可能かどうか


bool is_writeable ($はファイル名またはファイルパスを指定します)

関数: ファイルが書き込み可能かどうか


bool is_executable ($ファイル名またはファイルパスを指定します)

関数: ファイルが実行可能かどうか


bool is_file ($specify ファイル名またはファイルパス)

関数: ファイルであるかどうか


bool is_dir ($specify ファイル名またはファイルパス)

関数: ディレクトリかどうか


void clearstatcache (void)

関数: ファイルのステータスキャッシュをクリアします


上記の関数は一目瞭然です。実験としては、冒頭に挙げた例を書いてみましょう。

最初の例であるファイルロックについて話しましょう。インストールされている場合、インストール ロックが存在する場合は、インストールされたことを示すメッセージが表示されます。そうでない場合は、インストールが続行されます。

インストールインターフェースのURLはinstall.php、インストールされたロックファイルはinstall.lockであると仮定します。 install.lock ファイルが存在するかどうかを検出できます。

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

次に、ファイルまたはディレクトリに書き込み権限があるか読み取り権限があるかを検出する、ファイルのインストール検出の実験を行います。そうでない場合、インストールは実行できません。

この問題を処理するアイデアは次のとおりです:

1. アクセス許可を検出する必要がある配列のバッチを定義します

2. フォルダーかファイルかを検出できます

3. set bit 変数、set bit 変数が一度 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 '不能进行安装';
}
?>

上記の例を通して、これを実行しました。特定の 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 '不能进行安装'; } ?>
コースウェア