在php中创建目录

时间:2019-11-28 07:48:39

标签: php

我用以下代码创建目录:

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)下,并且不会触发错误!

2 个答案:

答案 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代表递归,它将完成所有工作