こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、12年目エンジニアです。
この記事では、 PHPでファイルやディレクトリが存在するかどうかを確認できるfile_exists関数について
- file_exists関数とは
- file_exists関数を使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows11 |
---|---|
PHPのバージョン | 8.2.4 |
XAMPPのバージョン | 8.2.4 |
PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。
file_exists関数とは
file_exists関数とは、引数に指定されたパスのファイルまたはディレクトリが存在したらtrue、なければfalseを返す関数です。
確認したいファイルのパスは、相対パス絶対パス両方で指定することができます。
それぞれのパスについては、こちらの記事をご参考ください。
使い方サンプルは以下になります。
1 2 3 4 5 6 7 |
// 絶対パスで指定した場合 $sample = 'C:\sample.txt'; $result = file_exists($sample); // 相対パスで指定した場合 $sample = '.sample.txt'; $result = file_exists($sample); |
上記を実行すると、resultには引数で指定されているsample.txtが存在していればtrue、なければfalseが返ります。
では、次の章で実際に使ってみます。
file_exists関数を解説するプログラムの概要
file_exists関数を解説するプログラムでは、引数に与えたパスが存在する、しないのケース(2パターン)、与えるパスも
- 絶対パス
- 相対パス
でそれぞれ2パターン、合計4パターンでfile_exists関数に与えて、結果を表示させて確認します。
これをファイルとディレクトリの両方で確認します。
phpプログラムは
C:\xampp\htdocs
配下に、【sample.php】というファイル名で格納しています。
PHPサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
<?php print('■file_exists確認<br >'); print('①ファイルが存在する場合<br >'); print('・絶対パスで確認<br >'); $exists_file_absolute_path = 'C:\xampp\htdocs\sample\sample.txt'; if (file_exists($exists_file_absolute_path)) { print($exists_file_absolute_path.'は存在する'); } else { print($exists_file_absolute_path.'は存在しない'); } print('<br >'); print('・相対パスで確認<br >'); $exists_file_relative_path = '.\sample\sample.txt'; if (file_exists($exists_file_relative_path)) { print($exists_file_relative_path.'は存在する'); } else { print($exists_file_relative_path.'は存在しない'); } print('<br >'); print('②ファイルが存在しない場合<br >'); print('・絶対パスで確認<br >'); $not_exists_file_absolute_path = 'C:\xampp\htdocs\sample\aaa.txt'; if (file_exists($not_exists_file_absolute_path)) { print($not_exists_file_absolute_path.'は存在する'); } else { print($not_exists_file_absolute_path.'は存在しない'); } print('<br >'); print('・相対パスで確認<br >'); $not_exists_file_relative_path = '.\sample\aaa.txt'; if (file_exists($not_exists_file_relative_path)) { print($not_exists_file_relative_path.'は存在する'); } else { print($not_exists_file_relative_path.'は存在しない'); } print('<br >'); print('③ディレクトリが存在する場合<br >'); print('・絶対パスで確認<br >'); $exists_directory_absolute_path = 'C:\xampp\htdocs\sample'; if (file_exists($exists_directory_absolute_path)) { print($exists_directory_absolute_path.'は存在する'); } else { print($exists_directory_absolute_path.'は存在しない'); } print('<br >'); print('・相対パスで確認<br >'); $exists_directory_relative_path = '.\sample'; if (file_exists($exists_directory_relative_path)) { print($exists_directory_relative_path.'は存在する'); } else { print($exists_directory_relative_path.'は存在しない'); } print('<br >'); print('②ディレクトリが存在しない場合<br >'); print('・絶対パスで確認<br >'); $not_exists_directory_absolute_path = 'C:\xampp\htdocs\aaa'; if (file_exists($not_exists_directory_absolute_path)) { print($not_exists_directory_absolute_path.'は存在する'); } else { print($not_exists_directory_absolute_path.'は存在しない'); } print('<br >'); print('・相対パスで確認<br >'); $not_exists_directory_relative_path = '.\aaa'; if (file_exists($not_exists_directory_relative_path)) { print($not_exists_directory_relative_path.'は存在する'); } else { print($not_exists_directory_relative_path.'は存在しない'); } ?> |
実行結果
実行する前の状態を確認します。
sampleディレクトリ配下には、sample.txtは存在し、aaa.txtは存在しないことが確認できました。
sampleディレクトリは存在し、aaaディレクトリは存在しないことが確認できました。
では、実行してファイルまたはディレクトリが存在しているかのを確認します。
XAMPPを起動して、【http://localhost/sample.php】のURLにアクセスします。
XAMPPでPHPの動かし方については、こちらの記事をご参考ください。
相対パス絶対パスともに、ファイルもディレクトリの存在チェックができていることが確認できました。
まとめ:file_exists関数を使ってみよう!
以上がfile_exists関数についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント