次の状況で2レベルのディレクトリを作成する関数のヘルプが必要です。
助けてくれてありがとう。
mkdir()
の3番目のパラメーターを使用します。
recursiveパス名で指定されたネストされたディレクトリの作成を許可します。デフォルトはFALSEです。
$path = '/path/to/folder/with/subdirectory';
mkdir($path, 0777, true);
recursiveパス名で指定されたネストされたディレクトリの作成を許可します。でも私には効かなかった!!それがここに私が思いついたものです!!そしてそれは非常に完璧に動作します!!
$upPath = "../uploads/RS/2014/BOI/002"; // full path
$tags = explode('/' ,$upPath); // explode the full path
$mkDir = "";
foreach($tags as $folder) {
$mkDir = $mkDir . $folder ."/"; // make one directory join one other for the nest directory to make
echo '"'.$mkDir.'"<br/>'; // this will show the directory created each time
if(!is_dir($mkDir)) { // check if directory exist or not
mkdir($mkDir, 0777); // if not exist then make the directory
}
}
file_exists を使用して、フォルダが存在するかどうかを確認し、is_dir
で、フォルダかどうかを確認します。
if(file_exists($dir) && is_dir($dir))
また、ディレクトリを作成するには、mkdir
関数を使用できます
次に、あなたの質問の残りは、要件に合うようにこれを操作するだけです
mkdir
、特に$recursive
パラメーターを参照してください。
私がどれだけ苦しんだか..そしてこのスクリプトを手に入れました..
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;}
}
探している関数はMKDIRです。最後のパラメータを使用して、ディレクトリを再帰的に作成します。そして ドキュメントを読んでください。
PHP 5.0+ mkdir の時点で、欠落している親を作成する再帰的なパラメーターがあります。
// 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.