PHPでディレクトリの存在確認をする関数を作りました。【dir_exists】

カテゴリ:Web制作タグ:

PHPにはファイルかディレクトリが存在した場合をチェックする関数は、
file_existsが用意されていますが、ディレクトリだけをチェックしたい場合の関数はありません。
もちろんfile_existsとis_dirでチェック出来るわけですが、どうせならと関数にしてみました。


2014/12/16修正:PHP標準の関数「is_dir()」を使えば下記のような関数をわざわざ作成する必要はございませんので使わないようにしましょう。(書いておいてなんですが)
当時何を勘違いしたかファイルの存在確認がis_dirでは行われないものと思っており下記のような関数を作るという方法に至った次第です。
記事へご訪問いただいた方には大変ご迷惑をおかけしたことお詫び申し上げます。申し訳ございません。
コメントでご指摘いただいたななしさんありがとうございました!


命名規則?に従って関数名は「dir_exists」にしてみましたw
/*
* ディレクトリの存在確認
*/
public function dir_exists($path = null)
{
// パスが指定されていなかったらfalse
if(empty($path))
{
return false;
}
// ファイルが存在しないか、ディレクトリでない場合false
if(!file_exists($path) or !is_dir($path))
{
return false;
}
// ファイルが存在しており、ディレクトリの場合true
if(file_exists($path) and is_dir($path))
{
return true;
}
}
使い方は下記のようになっています。
$dir_path = ‘/hoge/path’;
if(dir_exists($dir_path))
{
// ディレクトリが存在した場合の処理
}
else
{
// ディレクトリが存在しない場合の処理
}
もしくは
if(!dir_exists($dir_path))
{
// ディレクトリが存在しない場合の処理
}
else
{
// ディレクトリが存在する場合の処理
}
といった感じで使用する事が出来ます。ディレクトリが存在しない場合に新規ディレクトリを作成したい場合や、
逆にディレクトリが存在する場合にディレクトリを削除する。等の場合に使えると思います。
知ってる人からすると、そんなことかよ!って突っ込まれそうですが、参考にしていただければ幸いです。

あとでよむ / みんなにシェアする

このエントリーをはてなブックマークに追加
LINEで送る

コメントをする / みる

コメントを残す

2件のコメント

ななし より:

過去記事で申し訳ないがis_dir()単体でいいんでないの?

UKLab より:

おっしゃる通りですね。
これを作った時てっきりis_dir単体ではファイルの存在確認がされないもんだと勘違いしていたみたいです。
記事の修正をすると共にお詫び申し上げます。申し訳ございません。

検索する

カテゴリ一覧

タグ一覧

お知らせ アクセス解析 アプリケーション ゲーム サーバー スニペット プラグイン 動画 日記 Laravelパッケージ Laravel3 Laravel4 Tips Webサービス Webデザイン WordPress

最近投稿された記事

つぶやき

【GIGAZINE読者限定早い者勝ち】無料でDropbox・Googleドライブなどのクラウドを自由自在に同期・一括管理できる「まとめてクラウド」が先着5万人48時間だけゲット可能 - GIGAZINE gigazine.net/news/20151010-…

約2年前

離れていてもコミュニケーションが取りやすい便利なサービス「Remotty」 #remotty remotty.net

約2年前

RT @localdisk: メジャーどころがたくさん / 【セキュリティ ニュース】「WPTouch」など多数のWordPressプラグインに脆弱性(1ページ目 / 全1ページ):Security NEXT security-next.com/057930

約2年前

Javascript フレームワーク「Aurelia」aurelia.io

約2年前

dockerで起動済みのコンテナに対して何かしたい時は、docker exec -it コンテナ名 /bin/bashで入って実行したり、docker exec -it コンテナ名 supervisorctl restart nginxみたいな事も出来て便利。

約2年前

サーバー移転完了に伴いサイトの閲覧も可能な状態になりました。移転作業中にご訪問いただいた方には大変ご迷惑をおかけいたしました。今後このようなことがないよう気をつけて参ります。

約2年前

現在当サイトが閲覧出来ない状態となっております。こちらはサーバーの移転作業に遅れが生じているためとなっております。ご利用いただいている方にはご迷惑をおかけいたします。

約2年前

WordPress4.1.1(日本語版)が利用出来るようになりました wp.me/p4RkJY-Dj

約3年前

RT @keito_jp: Twitterをサマーウォーズ的に表示させるやつを製作中。遊んでみてね。 open.moo.jp http://t.co/gIgp5Gh6qW

約3年前

任天堂、YouTubeの広告収入を動画制作者とシェアする「Creators Program」サービス開始 | Game*Spark - 国内・海外ゲーム情報サイト s.gamespark.jp/article/2015/0…

約3年前

↑上へ戻る