我用以下代码创建目录:
mkdir(trim($_POST['property_builder']));
mkdir(trim($_POST['property_builder']."/".$_POST['property_city']));
mkdir(trim($_POST['property_builder']."/".$_POST['property_city'].""."/".$_POST['property_location']));
mkdir(trim($_POST['property_builder']."/".$_POST['property_city'].""."/".$_POST['property_location'].""."/".$_POST['property_type']));
mkdir(trim($_POST['property_builder']."/".$_POST['property_city'].""."/".$_POST['property_location'].""."/".$_POST['property_type']."/".'Images-'.$_POST['property_name']));
mkdir(trim($_POST['property_builder']."/".$_POST['property_city'].""."/".$_POST['property_location'].""."/".$_POST['property_type']."/".'Images-'.$_POST['property_name']."/".'Floor-Plan-'.$_POST['property_name']));
所有Post变量均已设置并且代码运行正常:
但是,我有一个情况:
想象一下$_POST['property_builder'] = "Auriga"
,它第一次创建并继续构建子文件夹结构。
再次有一个Auriga的新项目...我希望它停放在已经创建的文件夹(Auriga)下,并且不会触发错误!
答案 0 :(得分:0)
使用file_exists进行检查:
if (!file_exists('path/to/directory')) {
mkdir('path/to/directory');
}
答案 1 :(得分:0)
之后:https://www.php.net/manual/en/function.mkdir.php
您只需要一行:
mkdir(
trim($_POST['property_builder']."/".$_POST['property_city'].""."/".$_POST['property_location'].""."/".$_POST['property_type']."/".'Images-'.$_POST['property_name']."/".'Floor-Plan-'.$_POST['property_name']),
null,
true
);
true
代表递归,它将完成所有工作