PHPでディレクトリの存在有無を確認する方法をご紹介します。
「is_dir()」を使用します。
「is_dir()」の引数に「ディレクトリパス」を指定することで、そのディレクトリが存在するかを確認することができます。
存在する「/root/test」を指定した場合の挙動を確認します。
1 2 3 |
[root@kamotora ~]# ls -d /root/test /root/test [root@kamotora ~]# |
1 2 3 4 5 6 7 |
[root@kamotora ~]# php -a Interactive shell php > echo is_dir('/root/test'); 1 php > exit [root@kamotora ~]# |
「1」が返ってきました。
PHPの「True」は「1」なので、今回は「True」であるということですね。
次に、存在しないディレクトリ「/root/test3」、存在するファイル「/root/testfile」を指定した場合の動作を確認します。
1 2 3 4 5 |
[root@kamotora ~]# ls -d /root/test3 ls: cannot access /root/test3: No such file or directory [root@kamotora ~]# ls /root/testfile /root/testfile [root@kamotora ~]# |
確認します。
1 2 3 4 5 6 7 |
[root@kamotora ~]# php -a Interactive shell php > echo is_dir('/root/test3'); php > echo is_dir('/root/testfile'); php > exit [root@kamotora ~]# |
存在しないディレクトリ「/root/test3」、存在するファイル「/root/testfile」を指定した場合、ともに何も返されないことがわかります。
つまり、「False」の場合は何も返さないってことですね。覚えておきましょう。