PHPファイル屬性検出関數(shù)
一部の學(xué)生は、ファイル屬性検出がどこで使用されるかについて特に興味を持っています。ファイル屬性の検出は、非常に多くの場(chǎng)所で使用できます。
例を挙げてみましょう:
1. ソフトウェアをインストールすると、ファイルが存在する場(chǎng)合は別の場(chǎng)所にジャンプすることがわかります。
2. インストールプロセス中に一部のファイルに書(shū)き込み権限がない場(chǎng)合、インストールは許可されません。
非常に有名な國(guó)産ソフトウェア discuz を例に、インストールプロセスのスクリーンショットをお見(jiàn)せしましょう:
上の例は、ファイル検出の典型的な使用例です。
次の一連の関數(shù)を?qū)W習(xí)しましょう。それでは、例を通して學(xué)びましょう。
bool file_exists ($specify ファイル名またはファイルパス)
機(jī)能: ファイルが存在するかどうか。
bool is_readable ($specify file name or file path)
関數(shù): ファイルが読み取り可能かどうか
bool is_writeable ($specify file name or file path)
関數(shù): ファイルが書(shū)き込み可能かどうか
bool is_ executable ( $ はファイル名またはファイルパスを指定します)
関數(shù): ファイルが実行可能かどうか
bool is_file ( $ はファイル名またはファイルパスを指定します)
関數(shù): ファイルであるかどうか
bool is_dir ( $ はファイル名またはファイルパスを指定します)
関數(shù): ディレクトリかどうか
void clearstatcache ( void )
関數(shù): ファイルのステータスキャッシュをクリアします
上記の関數(shù)は一目瞭然です。実験としては、冒頭に挙げた例を書(shū)いてみましょう。
最初の例であるファイルロックについて話(huà)しましょう。インストールされている場(chǎng)合、インストール ロックが存在する場(chǎng)合は、インストールされたことを示すメッセージが表示されます。そうでない場(chǎng)合は、インストールが続行されます。
インストールインターフェースの URL は install.php、インストールされるロックファイルは install.lock であると仮定します。 install.lock ファイルが存在するかどうかを検出できます。
<?php if(file_exists('install.lock')){ echo '已安裝,請(qǐng)不要再次進(jìn)行安裝'; exit; } ?>
ファイルのインストール検出実験を行って、ファイルまたはディレクトリに書(shū)き込み権限または読み取り権限があるかどうかを確認(rèn)してみましょう。そうでない場(chǎng)合、インストールは実行できません。
この問(wèn)題を処理するアイデアは次のとおりです:
1. アクセス許可を検出する必要がある配列のバッチを定義します
2. フォルダーかファイルかを検出できます
3. セット変數(shù)を作成します。セット変數(shù)が false の場(chǎng)合、インストールの次のステップは表示されません
<?php //可以定義一批文件是否存在 $files = [ 'config.php', 'img/', 'uploads/', ]; //定義標(biāo)志位變量 $flag = true; foreach($files as $v){ echo $v; //判斷是文件還是文件夾 if(is_file($v)){ echo '是一個(gè)文件 '; }else if(is_dir($v)){ echo '是一個(gè)文件夾 '; } if(is_readable($v)){ echo ' 可讀'; }else{ echo '<font color="red">不可讀</font>'; } if(is_writeable($v)){ echo '可寫(xiě)'; }else{ echo '<font color="red">不可寫(xiě)</font>'; } echo '<br />'; } if($flag){ echo '<a href="step1">下一步</a>'; }else{ echo '不能進(jìn)行安裝'; } ?>
上記の例で、これを完了しました。 。特定の PHP ソフトウェアのインストール プロセス中にインストール検出を?qū)g裝します。
これは私たちの上記のアイデアの実現(xiàn)です。