{category}

PHP - ファイル情報

file_exists()

ファイル イグジスツ(ファイルとI/O操作

意味 ファイルの存在確認


file_exists()とは?

file_exists()関数は、指定されたファイルやディレクトリが存在するかどうかを確認します。存在する場合はtrue、存在しない場合はfalseを返します。ファイルを操作する前に、そのファイルが本当にあるかどうかを確認するのに便利です。

file_exists()の具体的な使い方

ファイル存在確認と条件分岐

$filename = 'config.ini';
if (file_exists($filename)) {
    $config = parse_ini_file($filename);
    echo "設定を読み込みました。\n";
} else {
    echo "設定ファイルが見つかりません。デフォルト設定を使用します。\n";
    $config = ['debug' => false, 'timezone' => 'Asia/Tokyo'];
}
print_r($config);

👇出力結果

設定を読み込みました。
Array
(
    [debug] => 1
    [timezone] => Europe/London
)

この例では、'config.ini'ファイルの存在を確認し、存在する場合はその内容を読み込み、存在しない場合はデフォルトの設定を使用しています。file_exists()を使うことで、ファイルの有無に応じて適切な処理を行うことができます。

ディレクトリ存在確認と作成

$dir = 'uploads';
if (!file_exists($dir)) {
    if (mkdir($dir, 0777, true)) {
        echo "'{$dir}'ディレクトリを作成しました。\n";
    } else {
        echo "'{$dir}'ディレクトリの作成に失敗しました。\n";
    }
} else {
    echo "'{$dir}'ディレクトリは既に存在します。\n";
}

echo "現在のディレクトリ構造:\n";
print_r(scandir('.'));

👇出力結果

'uploads'ディレクトリを作成しました。
現在のディレクトリ構造:
Array
(
    [0] => .
    [1] => ..
    [2] => config.ini
    [3] => uploads
)

この例では、'uploads'ディレクトリの存在を確認し、存在しない場合は新しく作成しています。file_exists()をディレクトリに対して使用することで、必要なディレクトリ構造を確認し、必要に応じて作成することができます。

file_exists()に関するよくある質問

Q. ディレクトリの存在確認もできる?
A. はい、file_exists()関数はファイルだけでなく、ディレクトリの存在確認にも使用できます。ただし、ファイルとディレクトリを区別したい場合は、is_dir()関数を併用するとよいでしょう。
Q. ファイルのアクセス権限は確認できる?
A. file_exists()関数自体はアクセス権限を確認しません。ファイルの読み取り、書き込み、実行権限を確認するには、is_readable()、is_writable()、is_executable()関数を使用してください。

file_exists()が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのfile_exists()やglob()、fwrite()、file_get_contents()、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

glob()

パターンに一致するファイル検索

種類: ディレクトリ操作

fwrite()

ファイルにデータを書き込む

種類: ファイル読み書き

file_get_contents()

ファイルの内容を全て読み込む

種類: ファイル読み書き

$_ENV

環境変数へのアクセス

種類: スーパーグローバル変数

composer.json

Composerの設定ファイル

種類: 設定ファイル