PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのfile_exists()関数の使い方を徹底解説!ファイル・ディレクトリの存在確認

file_exists()関数は、指定されたファイルまたはディレクトリが存在するかどうかをチェックするためのPHP組み込み関数です。引数には、存在を確認したいファイルまたはディレクトリへのパスを渡します。

file_exists()関数の主な用途

  • 処理を実行する前に、対象のファイルが実際に存在するかどうかを確認したい場合に便利です。
  • 新しいファイルを作成する際に、同名のファイルがすでに存在していないかを事前にチェックできます。

これにより、存在しないファイルを読み込もうとしてエラーが発生するといったトラブルを未然に防ぐことができます。

構文(シンタックス)

file_exists($file_path)

パラメータ(引数)

  • file_path: 存在を確認したいファイルまたはディレクトリのパスを指定します。このパラメータは必須です。

戻り値

file_exists()関数は、チェック結果を真偽値(boolean)で返します。

  • true:ファイルまたはディレクトリが存在する場合
  • false:ファイルまたはディレクトリが存在しない場合

使用例

次の例では、「candidate.txt」というファイルの存在を確認し、ファイルが存在しない場合でもメッセージを表示します。

<?php
$myfile = '/doc/candidate.txt';
if (file_exists($myfile)) {
    echo "$myfile は存在します!";
} else {
    echo "$myfile は存在しません!";
}
?>

このコードを実行すると、以下のようにファイルが存在しないことを示す出力結果が得られます。

出力結果

/doc/candidate.txt は存在しません!

補足ポイント

file_exists()関数の結果はPHPによってキャッシュされることがあります。同じファイルに対して繰り返し存在確認を行う場合は、clearstatcache()関数を呼び出してステータスキャッシュをクリアすると、常に最新の状態を取得できます。また、ファイル読み込み専用の場合は is_file()、ディレクトリ判定のみが必要な場合は is_dir() 関数を使い分けると、より意図に沿ったチェックが可能です。

  1. PHPのfpassthru()関数の使い方を徹底解説

    fpassthru()関数とはPHPのfpassthru()関数は、開いているファイルからEOF(ファイルの終端)までデータを読み込み、その内容を出力バッファに書き出すための関数です。ファイルポインタから読み取った文字数を返し、エラーが発生した場合はFALSEを返します。構文fpassthru(file_pointer):パラメータfile_pointer − fopen()またはfsockopen()によって正常にオープンされ、まだfclose()で閉じられていないファイルを指すファイルポインタを指定します。戻り値fpassthru()関数は、ファイルポインタから読み取った文字数を返します。

  2. PHPのfile_exists()関数の使い方を徹底解説!ファイル・ディレクトリの存在確認

    file_exists()関数は、指定されたファイルまたはディレクトリが存在するかどうかをチェックするためのPHP組み込み関数です。引数には、存在を確認したいファイルまたはディレクトリへのパスを渡します。 file_exists()関数の主な用途 処理を実行する前に、対象のファイルが実際に存在するかどうかを確認したい場合に便利です。 新しいファイルを作成する際に、同名のファイルがすでに存在していないかを事前にチェックできます。 これにより、存在しないファイルを読み込もうとしてエラーが発生するといったトラブルを未然に防ぐことができます。 構文(シンタックス) file_exists($fil