PHPでは関数を使用してフォルダを簡単に作成することができます。
この記事では、
・mkdir関数の使用方法
・フォルダの作成有無を判定する方法
という基本的な内容から、
・フォルダの更新日時を取得する方法
・階層フォルダを作成する方法
などの応用的な使い方に関しても解説していきます。
今回はそんなフォルダの作成方法について、わかりやすく解説します!
フォルダを作成する
ここでは、mkdir関数を使用してフォルダ(ディレクトリ)を作成する方法を紹介します。
mkdir関数を使用する
PHPでフォルダ(ディレクトリ)を作成するためには、mkdir関数を使用します。
bool mkdir(string $パス/フォルダ名 [, int $mode [, bool $recursive [, resource $context]]]);
mkdir関数は、第一引数にフォルダのパスと作成するフォルダ名を指定します。
第二引数の$modeには作成するディレクトリのモード(パーミッション)を指定します。モードは指定しない場合、デフォルトで0777が指定されます。これはパーミッションにおいて、最も緩やかなアクセス制限になります。
パーミッションの詳細については、以下を参考にしてください。
http://php.net/manual/ja/function.chmod.php
(Windowsの場合は、$modeは指定しても無視されます)
第三引数の$recursiveには、入れ子構造のディレクトリ作成の許可フラグを指定し、第四引数の$contextにはオプションとして作成したストリームを指定します。
以下にmkdir関数を使用して、フォルダを作成する方法を記述します。
<?php mkdir('/Users/Shared/PHP/mydir', 0700); ?>
サンプルでは、パスに「/Users/Shared/PHP/」、作成するフォルダ(ディレクトリ)に「mydir」を指定し、第二引数のモード(パーミッション)には「0700」を指定しています。
フォルダが作成できたか判定する
フォルダが正常に作成できたか、判定するためにはif文の中でmkdir関数を使用します。
mkdir関数は戻り値にbool型の値を返しますので、フォルダの作成可否を判定することが可能です。
以下にフォルダが作成できたか、判断する方法を記述します。
<?php if (mkdir('/Users/Shared/PHP/mydir', 0700)){ echo 'フォルダを作成しました。'; }else{ echo 'フォルダの作成が失敗しました。'; } ?>
実行結果 フォルダを作成しました。