30

次の状況で2レベルのディレクトリを作成する関数のヘルプが必要です。

  1. 目的のサブディレクトリが親ディレクトリに存在します。何もしません。
  2. 親ディレクトリは存在しますが、サブディレクトリは存在しません。サブディレクトリのみを作成します。
  3. 親ディレクトリもサブディレクトリも存在しません。最初に親ディレクトリを作成し、次にサブディレクトリを作成します。
  4. いずれかのディレクトリが正常に作成されなかった場合は、FALSEを返します。

助けてくれてありがとう。

4

9 に答える 9

69

の 3 番目のパラメーターを使用しますmkdir()

recursiveパス名で指定されたネストされたディレクトリの作成を許可します。デフォルトは FALSE です。

$path = '/path/to/folder/with/subdirectory';
mkdir($path, 0777, true);
于 2011-07-05T08:42:59.827 に答える
3

file_existsを使用して、フォルダーが存在するかどうかを確認し、フォルダーis_dirであるかどうかを確認できます。

 if(file_exists($dir) && is_dir($dir))

ディレクトリを作成するには、mkdir関数を使用できます

次に、質問の残りの部分は、要件に合わせてこれを操作するだけです

于 2011-07-05T08:42:32.027 に答える
1

mkdir、特に$recursiveパラメータを参照してください。

于 2011-07-05T08:43:14.350 に答える
1

私がどれだけ苦しんだか..そしてこのスクリプトを手に入れました..

function recursive_mkdir($dest, $permissions=0755, $create=true){
    if(!is_dir(dirname($dest))){ recursive_mkdir(dirname($dest), $permissions, $create); }  
    elseif(!is_dir($dest)){ mkdir($dest, $permissions, $create); }
    else{return true;}
}
于 2016-07-16T13:08:20.863 に答える
0

探している関数は MKDIR です。ディレクトリを再帰的に作成するには、最後のパラメータを使用します。そしてドキュメントを読んでください。

于 2011-07-05T08:43:59.623 に答える
0

PHP 5.0 以降では、 mkdirには再帰的なパラメーターがあり、見つからない親を作成します。

于 2011-07-05T08:44:03.470 に答える
0
// Desired folder structure
$structure = './depth1/depth2/depth3/';

// To create the nested structure, the $recursive parameter 
// to mkdir() must be specified.

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

Returns TRUE on success or FALSE on failure.

PHP: mkdir - マニュアル

于 2011-07-05T08:47:58.007 に答える