一部の学生は、ファイル属性検出がどこで使用されるかについて特に興味を持っています。ファイル属性の検出は、非常に多くの場所で使用できます。
例を挙げてみましょう:
1. ソフトウェアをインストールすると、ファイルが存在する場合は別の場所にジャンプすることがわかります。
2. インストールプロセス中に一部のファイルに書き込み権限がない場合、インストールは許可されません。
非常に有名な国産ソフトウェア discuz を例に、インストールプロセスのスクリーンショットをお見せしましょう:
上の例は、ファイル検出の典型的な使用例です。
次の一連の関数を学習しましょう。それでは、例を通して学びましょう。
bool file_exists ($specify ファイル名またはファイルパス)
機能: ファイルが存在するかどうか。
bool is_readable ($specify file name or file path)
関数: ファイルが読み取り可能かどうか
bool is_writeable ($specify file name or file path)
関数: ファイルが書き込み可能かどうか
bool is_ executable ( $ はファイル名またはファイルパスを指定します)
関数: ファイルが実行可能かどうか
bool is_file ( $ はファイル名またはファイルパスを指定します)
関数: ファイルであるかどうか
bool is_dir ( $ はファイル名またはファイルパスを指定します)
関数: ディレクトリかどうか
void clearstatcache ( 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 ソフトウェアのインストール プロセス中にインストール検出を実装します。
これは私たちの上記のアイデアの実現です。