こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、12年目エンジニアです。
この記事では、 PHPでファイルかどうかを確認できるis_file関数について
- is_file関数とは
- is_file関数を使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows11 |
---|---|
PHPのバージョン | 8.2.4 |
XAMPPのバージョン | 8.2.4 |
PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。
is_file関数とは
is_file関数とは、引数に指定されたパスが存在しかつファイルだった場合true、異なればfalseを返す関数です。
確認したいファイルのパスは、相対パス絶対パス両方で指定することができます。
それぞれのパスについては、こちらの記事をご参考ください。
使い方サンプルは以下になります。
1 2 3 4 5 6 7 |
// 絶対パスで指定した場合 $sample = 'C:\sample.txt'; $result = is_file($sample); // 相対パスで指定した場合 $sample = '.sample.txt'; $result = is_file($sample); |
上記を実行すると、resultには引数で指定されているsample.txtが存在していればtrue、なければfalseが返ります。
では、次の章で実際に使ってみます。
is_file関数を解説するプログラムの概要
is_file関数を解説するプログラムでは、引数に与えたパスが存在する、しないのケース(2パターン)、与えるパスも
- 絶対パス
- 相対パス
でそれぞれ2パターン、合計4パターンでis_file関数に与えて、結果を表示させて確認します。
これをファイルとディレクトリの両方で確認します。
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('■is_file関数確認<br >'); print('①ファイルが存在する場合<br >'); print('・絶対パスで確認<br >'); $exists_file_absolute_path = 'C:\xampp\htdocs\sample\sample.txt'; if (is_file($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 (is_file($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 (is_file($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 (is_file($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 (is_file($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 (is_file($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 (is_file($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 (is_file($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の動かし方については、こちらの記事をご参考ください。
相対パス絶対パスともに、ファイルが存在している場合のみtrueが返されていることが確認できました。
まとめ:is_file関数を使ってみよう!
以上がis_file関数についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント