PHP创建多级目录的两种方法

PHP针对目录的创建,有一个专门的函数mkdir():成功,返回true,失败,返回false

函数mkdir有四个参数:

path:要创建的目录的名称

mode:权限。默认是0777(最大权限)

recursive:设置是否可以创建多级目录(true:可,false:不可)

context:文件句柄的环境。context是可修改流的行为的一套选项(很少用到)

下面给大家介绍php创建多级目录的两种方法,具体详情如下所示:

1.使用递归的思想

function mkdirs_2($path){
if(!is_dir($path)){
mkdirs_2(dirname($path));
if(!mkdir($path, 0777)){
return false;
}
}
return true;
}
/* http://www.manongjc.com/article/1331.html */
$path2 = 'sdfs/sds/sds/s/s/sss';
var_dump(mkdirs_2($path2)); //true;

1.思想主要是利用了递归, 先创建dir, 在创建dir/css ,在创建….

2.递归就是入栈的过程, 所以先让,dir/css/js/php/ok 先入栈, 则它会最后出栈…其它的就不说了.

3.dirname(path)返回的是path中除了最后一个目录的值, 即第一次返回是: dir/css/js/php,,,第二次返回 dir/css/js,,,最后一次是 ./

2.直接利用mkdir()创建, 第三个参数必须是true才能自动创建多级目录

function mkdirs_1($path, $mode = 0777){
if(is_dir($path)){
return '无法创建,已经是目录了';
}else{
if(mkdir($path, $mode, true)) {
return '创建成功';
}else{
return '创建失败';
}
}
}
/* http://www.manongjc.com/article/1332.html */
$path1 = 'a/b/c/d/e';
var_dump(mkdirs_1($path1)); //string '创建成功' (length=12)

以上所述是小编给大家介绍的PHP创建多级目录的两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • php创建多级目录代码

    function createFolder($path) {    if (!file_exists($path))    {     createFolder(dirname($path)); mkdir($path, 0777);    } } createFolder("2007/3/4");//在当前目录下创建2007/3/4的目录结构.

  • php创建多级目录的方法

    本文实例讲述了php创建多级目录的方法.分享给大家供大家参考.具体实现方法如下: <?php /* 写出一个能创建多级目录的PHP函数 */ function createdirlist($path,$mode){ if (is_dir($path)){ //判断目录存在否,存在不创建 echo "目录'" . $path . "'已经存在"; //已经存在则输入路径 }else{ //不存在则创建目录 $re=mkdir($path,$mode,true);

  • php循环创建目录示例分享(php创建多级目录)

    复制代码 代码如下: function mk_dir($dir, $mod = 0777){ if(!is_dir($dir) || mkdir($dir, $mod)) { if(!mk_dir(dirname($dir, $mod))) { return false; } } return mkdir($dir, $mod);} 原理:就是不断的尝试创建上层目录,依此类推

  • php创建多级目录完整封装类操作方法

    创建多级目录函数中调用创建指定下的指定文件的函数: public function create_dir($dir,$mode=0777) { return is_dir($dir) or ($this->create_dir(dirname($dir)) and mkdir($dir, $mode)); } 创建指定路径下的指定文件,string 需要包含文件名和后缀path(需要包含文件名和后缀),booleanover_write 是否覆盖文件,int 设置时间.默认是当前系统时间time

  • PHP创建多级目录的两种方法

    PHP针对目录的创建,有一个专门的函数mkdir():成功,返回true,失败,返回false 函数mkdir有四个参数: path:要创建的目录的名称 mode:权限.默认是0777(最大权限) recursive:设置是否可以创建多级目录(true:可,false:不可) context:文件句柄的环境.context是可修改流的行为的一套选项(很少用到) 下面给大家介绍php创建多级目录的两种方法,具体详情如下所示: 1.使用递归的思想 function mkdirs_2($path){

  • Java创建子线程的两种方法

    摘要: 其实两种方法归结起来看还是一种,都是利用Thread的构造器进行创建,区别就是一种是无参的,一种是有参的. 一.继承Thread线程类: 通过继承Thread类,重写run方法,子类对象就可以调用start方法启动线程,JVM就会调用此线程的run方法. 代码如下: public class MyThread extends Thread { public MyThread() { super(); } @Override public void run() { } // 线程执行结束

  • asp中创建多级目录的两段代码

    复制代码 代码如下: '==============================         '创建多级目录,可以创建不存在的根目录         '参数:要创建的目录名称,可以是多级         '创建目录的根目录从当前目录开始         '''调用举例         ''Call CreateMultiFolder("/upload/jumbot/myphoto/")         '============================== Functi

  • VBS创建正则表达式对象的两种方法

    一直以来,我都是用 New RegExp 来创建正则表达式对象的: Set regex = New RegExp然而最新才发现 VBS 的正则表达式对象也可以这样创建: Set regex = CreateObject("VBScript.RegExp")貌似我看过的 VBScript 书籍没有一本介绍过这种写法,当然,书上没写的东西还有很多. 既然提到了正则表达式,那么就顺便说一下,VBS 的正则表达式对象是支持 MultiLine 模式的,对象有一个 MultiLine 属性.运行

  • VBS递归创建多级目录文件夹的方法

    核心代码 CreateFolders "d:\jb51test\1\2\3\4\5" Function CreateFolders(path) Set fso = CreateObject("scripting.filesystemobject") CreateFolderEx fso,path set fso = Nothing End Function Function CreateFolderEx(fso,path) If fso.FolderExists(p

  • 在python中创建表格的两种方法实例

    目录 日常拉呱: 创建表格一般有两种方法: 一:通过导入xlwt创建 二:通过导入csv库来创建 1.写入数据 2.读取数据 总结 日常拉呱: 最近在学习爬虫模拟登陆各个软件,老师留有作业,模拟登录京东并爬取系列物品,可惜我还是个小白菜鸟,还是处于迷迷糊糊的状态,只能先了解一下边缘知识.爬取完数据,你是否在纠结这些数据放在哪呢?建一个表格或许会帮助到你! 创建表格一般有两种方法: 一:通过导入xlwt来创建,这种方法我比较喜欢,因为它够直观够容易理解,但是相对而言比较麻烦. 二:通过导入csv库

  • java创建线程的两种方法区别

    在Java中创建一个线程有两种方法:继承Thread类和实现Runnable接口. 下面通过两个例子来分析两者的区别: 1)继承Thread类 public class TestThread extends Thread { int count = 3; public TestThread(String ThreadName) { super(ThreadName); } @Override public void run() { for (int i = 0; i < 10; i++) if

  • Docker创建镜像两种方法详解

     Docker创建镜像             最近学习Docker 的知识,偶然在网上看到关于Docker 创建对象的两种方法很好,这里记录下,也许可以帮助到你. 我们都知道Docker中我们是基于镜像来运行的容器,那如何创建镜像呢?创建镜像有两种方法,一是使用docker commit命令,二是使用docker build命令和Dockerfile文件.这里我们说的创建镜像是指基于一个已有的基础镜像比如ubuntu等,而不是从零创建一个全新的镜像. 下面分别简单介绍一下两种方法.      

  • K8s创建资源的两种方法实例

    目录 前言 kubectl run kubectl kubectl create/apply kubectl create 与 kubectl apply create apply 总结 前言 在 K8s 中,创建资源有两种方式: 直接使用 kubectl run 命令创建 使用 kubectl create/apply 命令从 YAML 文件创建 在本文中,我将通过示例解释这两种方法,以及它们分别应该在何时使用. kubectl run kubectl run 命令在 pod 中创建并运行特定

  • Python创建相同值数组/列表的两种方法

    目录 题目要求 解决方法 方法一:使用Python基础语法 方法二:使用numpy包的函数实现 参考资料 总结 题目要求 现在有这样的一个需求:创建一个数组或列表,列表中的所有值是相同的. 解决方法 找到两种解决方法,第一种是使用Python的基础语法,第二种是借助numpy包提供的函数实现.分别为大家进行介绍. 方法一:使用Python基础语法 使用“*”号可以实现列表的创建,使用非常简单,以下示例将会创建长度为20的列表. 另外,不仅可以复制单个元素,还可以实现多个元素的复制,如下示例: 方

随机推荐