PHPプログラミング

最終更新日:
公開日:

レシピ

ファイル / ディレクトリ

ディレクトリを作成する

mkdir関数を使ってディレクトリを作成する方法について解説します。

この記事のポイント

  • すでに同じ名前のディレクトリがないか確認する
  • 親ディレクトリのパーミッションに気をつける

目次

ディレクトリを作成する

mkdir関数を使うとディレクトリを作成できます。

コード例

mkdir('./graycode/test/');

mkdir関数の第1パラメータにパスを含めたディレクトリ名を渡すと、その名前のディレクトリを作成することができます。
ディレクトリ作成が成功するとtrue、失敗した場合はfalseを返します。

使用例

ディレクトリを作成するには、次の2つの条件を満たしている必要があります。

  • 親ディレクトリがコードによるファイル書き込み&実行を許可している
  • 同名のファイルが存在しない

次のコードは、これらの条件を満たしているかを確認した上でディレクトリを新規作成する例です。

コード例

// 親ディレクトリへのパス
$path = './parent_dir/';

// 作成するディレクトリ名
$dir_name = 'test';

// 親ディレクトリが書き込み可能か、および同じ名前のディレクトリが存在しないか確認
if( is_writable($path) && !file_exists($path.$dir_name) ) {

	// ディレクトリを作成
	if( mkdir($path.$dir_name) ) {
		echo 'ディレクトリを作成しました。';
	} else {
		echo 'ディレクトリの作成に失敗しました。';
	}

} else {
	echo '親ディレクトリが書き込みを許可していないか、すでに同名のディレクトリがあり作成できませんでした。';
}

1つ目のif文は、is_writable関数で親ディレクトリが書き込みを許可しているかを確認し、続くfile_exists関数で同名のディレクトリが存在しないかを確認します。
この2つが問題ない場合に限り、if文の中でmkdir関数が実行されます。

こちらの記事は役に立ちましたか?

ありがとうございます。
もしよろしければ、あわせてフィードバックや要望などをご入力ください。

コメントありがとうございます!
運営の参考にさせていただきます。