PHPファイル屬性検出関數(shù)
一部の學生は、ファイル屬性検出がどこで使用されるかについて特に興味を持っています。ファイル屬性の検出は、非常に多くの場所で使用できます。
例を挙げてみましょう:
1. ソフトウェアをインストールすると、ファイルが存在する場合は別の場所にジャンプすることがわかります。
2. インストールプロセス中に一部のファイルに書き込み権限がない場合、インストールは許可されません。
非常に有名な國産ソフトウェア discuz を例に、インストールプロセスのスクリーンショットをお見せしましょう:
上の例は、ファイル検出の典型的な使用例です。
次の一連の関數(shù)を學習しましょう。それでは、例を通して學びましょう。
bool file_exists ($specify ファイル名またはファイルパス)
機能: ファイルが存在するかどうか。
bool is_readable ($specify file name or file path)
関數(shù): ファイルが読み取り可能かどうか
bool is_writeable ($specify file name or file path)
関數(shù): ファイルが書き込み可能かどうか
bool is_ executable ( $ はファイル名またはファイルパスを指定します)
関數(shù): ファイルが実行可能かどうか
bool is_file ( $ はファイル名またはファイルパスを指定します)
関數(shù): ファイルであるかどうか
bool is_dir ( $ はファイル名またはファイルパスを指定します)
関數(shù): ディレクトリかどうか
void clearstatcache ( void )
関數(shù): ファイルのステータスキャッシュをクリアします
上記の関數(shù)は一目瞭然です。実験としては、冒頭に挙げた例を書いてみましょう。
最初の例であるファイルロックについて話しましょう。インストールされている場合、インストール ロックが存在する場合は、インストールされたことを示すメッセージが表示されます。そうでない場合は、インストールが続行されます。
インストールインターフェースの URL は install.php、インストールされるロックファイルは install.lock であると仮定します。 install.lock ファイルが存在するかどうかを検出できます。
<?php if(file_exists('install.lock')){ echo '已安裝,請不要再次進行安裝'; exit; } ?>
ファイルのインストール検出実験を行って、ファイルまたはディレクトリに書き込み権限または読み取り権限があるかどうかを確認してみましょう。そうでない場合、インストールは実行できません。
この問題を処理するアイデアは次のとおりです:
1. アクセス許可を検出する必要がある配列のバッチを定義します
2. フォルダーかファイルかを検出できます
3. セット変數(shù)を作成します。セット変數(shù)が 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 ソフトウェアのインストール プロセス中にインストール検出を実裝します。
これは私たちの上記のアイデアの実現(xiàn)です。