{category}

PHP - ディレクトリ操作

mkdir()

エムケーディア(ファイルとI/O操作

意味 新しいディレクトリを作成


mkdir()とは?

mkdir()は、新しいディレクトリ(フォルダ)を作成するための関数です。ディレクトリのパスを指定して呼び出すと、そのパスに新しいディレクトリが作成されます。権限を指定することもできます。

mkdir()の具体的な使い方

ディレクトリ作成の基本例

<?php
$dir_name = 'new_directory';

if (mkdir($dir_name, 0777)) {
    echo "ディレクトリ '{$dir_name}' が作成されました。";
} else {
    echo "ディレクトリ '{$dir_name}' の作成に失敗しました。";
}

👇出力結果

ディレクトリ 'new_directory' が作成されました。

この例では、'new_directory'という名前の新しいディレクトリを作成しています。0777は全ユーザーに読み書き実行の権限を与えることを意味します。作成の成功・失敗に応じてメッセージを表示します。

再帰的なディレクトリ作成

<?php
$nested_dir = 'parent/child/grandchild';

if (mkdir($nested_dir, 0777, true)) {
    echo "ディレクトリ構造 '{$nested_dir}' が作成されました。";
} else {
    echo "ディレクトリ構造 '{$nested_dir}' の作成に失敗しました。";
}

👇出力結果

ディレクトリ構造 'parent/child/grandchild' が作成されました。

この例では、第3引数にtrueを指定して、親ディレクトリも含めて再帰的にディレクトリを作成しています。これにより、'parent'、'child'、'grandchild'のディレクトリが一度に作成されます。

mkdir()に関するよくある質問

Q. mkdirの引数は何を指定する?
A. mkdirの第一引数には作成するディレクトリのパスを指定します。第二引数はオプションで、ディレクトリのパーミッション(権限)を指定できます。
Q. mkdirで既存ディレクトリを作成?
A. 既に存在するディレクトリを作成しようとすると、mkdirはfalseを返し、エラーが発生します。ディレクトリが存在するかどうかを事前にチェックするか、@mkdirを使ってエラーを抑制する方法があります。
Q. 親ディレクトリが無い場合は?
A. デフォルトではmkdirは親ディレクトリが存在しない場合にエラーになります。親ディレクトリも含めて作成したい場合は、mkdir()の代わりにmkdir($path, 0777, true)のように第三引数にtrueを指定するか、recursive optionを使用します。

mkdir()が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのmkdir()やfclose()、move_uploaded_file()、rmdir()、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

fclose()

ファイルを閉じる関数

種類: ファイル読み書き

move_uploaded_file()

アップロードファイルの移動

種類: ファイルアップロード

rmdir()

ディレクトリを削除する

種類: ディレクトリ操作

do-while

後判定の繰り返し処理

種類: ループ

while

条件付きの繰り返し処理

種類: ループ