ディレクトリを作る

# mkdir

(PHP 4, PHP 5, PHP 7, PHP 8)

mkdir — ディレクトリを作る

### 説明

function mkdir(
string `$directory`,
int `$permissions` = 0777,
bool `$recursive` = `false`,
?resource `$context` = `null`
): bool

`directory` で指定したディレクトリを作成します。

### パラメータ

`directory`

  ディレクトリのパス。

  ヒント

  fopen wrappers が有効の場合、この関数のファイル名として URL を使用することができます。ファイル名の指定方法に関する詳細は fopen() を参照ください。 サポートするプロトコル/ラッパー には、さまざまなラッパーの機能やその使用法、 提供される定義済み変数などの情報がまとめられています。

`permissions`

  パーミッションは 0777 がデフォルトです。 これは最も緩やかなアクセス制限を意味します。 パーミッションに関する詳細は chmod() をご覧ください。

  > 注意:

  > Windows では `permissions` は無視されます。

  `permissions` を八進数で指定したくなることもあるかもしれません。 その場合は先頭にゼロをつける必要があります。 また `permissions` は、 現在設定されている umask の影響も受けます。 umask を変更するには umask() を使用します。

`recursive`

  `true` を指定すると、 `directory` で指定されたディレクトリの、 全ての親ディレクトリも同じパーミッションで作成されます。

`context`
  ストリームコンテキストリソース

### 戻り値

成功した場合に `true` を、失敗した場合に `false` を返します。

> 注意:

> 作成しようとしたディレクトリが既に存在している場合、 エラーとみなされ、`false` が返されます。 作成しようとする前に、既にディレクトリが存在するかをチェックするには is_dir() や file_exists() を使ってください。

### エラー / 例外

ディレクトリが既に存在する場合は `E_WARNING` レベルのエラーが発生します。

ディレクトリの作成権限がない場合は `E_WARNING` レベルのエラーが発生します。

### 例

例1 mkdir() の例

    <?php
    mkdir("/path/to/my/dir", 0700);
    ?>

例2 mkdir() での `recursive` パラメータの使用例

    <?php
    // 作りたいディレクトリ構造
    $structure = './depth1/depth2/depth3/';

    // 入れ子構造を作るには、$recursive パラメータを
    // mkdir() に指定しなければなりません

    if (!mkdir($structure, 0777, true)) {
        die('Failed to create directories...');
    }

    // ...
    ?>

### 参考

- rmdir() - ディレクトリを削除する
- umask() - 現在の umask を変更する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open