PHP に存在しない場合にフォルダーを作成する方法

Ralfh Bryan Perez 2023年1月30日
  1. PHP にファイルまたはディレクトリが存在するかどうかを確認するための file_exists()
  2. is_dir() は、ファイルまたはディレクトリが PHP に存在するかどうかを確認する
  3. PHP の file_exists()is_dir()
  4. PHP の mkdir()
PHP に存在しない場合にフォルダーを作成する方法

PHP を使用して、特に mkdir() 関数を使用して、フォルダーを作成し、適切な権限を設定することが可能です。

デフォルトの許可モードは 0777(可能な最も広いアクセス)です。ディレクトリを作成する前に、ディレクトリまたはファイルが存在するかどうかを最初に確認することがインポートです。PHP では、file_exists または is_dir を使用して実行できます。

PHP にファイルまたはディレクトリが存在するかどうかを確認するための file_exists()

file_exists 関数は、ディレクトリまたはファイルが存在するかどうかを確認するための組み込み関数です。すでに存在する場合は true を返し、存在しない場合は false を返すパスのパラメーターを受け入れます。

file_exists() の使用例:

$path = "sample/path/newfolder";
if (!file_exists($path)) {
    mkdir($path, 0777, true);
}

上記の例では、file_exists() 関数を使用してディレクトリの存在を確認し、結果が false の場合、0777 の権限で newfolder ディレクトリを作成します。

is_dir() は、ファイルまたはディレクトリが PHP に存在するかどうかを確認する

この関数も file_exists に似ていますが、唯一の違いは、渡された文字列がディレクトリの場合にのみ true を返し、ファイルの場合に false を返すことです。

is_dir の使用例:

$path = "sample/path/newfolder";
if (!is_dir($path)) {
    mkdir($path, 0777, true);
}

上記の例では、is_dir は、mkdir を使用して新しいフォルダーを作成する前に、フォルダーが既に存在するかどうかを確認します。

PHP の file_exists()is_dir()

どちらの関数もディレクトリの存在を確認します。唯一の違いは、渡されたパラメータがファイルの場合、file_exists()true を返すことです。一方、is_dirfile_exists よりも少し高效です。

PHP の mkdir()

この関数は、パラメーターとして渡されるパス名で指定されたディレクトリーを作成します。期待される戻り値は true または false です。

実装例:

mkdir($path, $mode, $recursive, $context);

パラメータ値

パラメータ 価値観
path (必須) 作成するディレクトリまたはパス
mode(オプション) ディレクトリまたはファイルの権限。デフォルトでは、mode0777(可能な最も広いアクセス)です。
mode は 4つの数値で構成されます:
1st - 常に 0 に設定されます
2nd - ディレクトリの所有者の権限を指定しますまたは file。
3rd - 所有者のユーザーグループの権限を指定します
4th - 他の全員の権限を指定します。
recursive (オプション) true または false
ネストされた構造を作成するには、recursive パラメーターを true に設定する必要があります。
context (オプション) ストリームの動作を強化または変更するパラメーターのセット。

注:セーフモードが有効になっている場合、PHP はディレクトリ内の操作スクリプトがディレクトリ内で同じ UID(所有者)を持っているかどうかをチェックします。

関連記事 - PHP Directory