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创建多级目录的两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
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的列表. 另外,不仅可以复制单个元素,还可以实现多个元素的复制,如下示例: 方
随机推荐
- DOS批处理高级教程 第二章 DOS循环for命令详解
- Oracle字符函数应用检测汉字的方法
- MVC微信网页授权获取用户OpenId
- 浏览器检测JS代码(兼容目前各大主流浏览器)
- ASP.NET列出数据库活跃链接的方法
- .net get set用法小结第1/3页
- 详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
- php中的路径问题与set_include_path使用介绍
- Docker学习笔记之Docker部署Java web系统
- Java冒泡排序(Bubble Sort)实例讲解
- JavaScript实现梯形乘法表的方法
- SpringMVC实现文件下载功能
- python实现根据图标提取分类应用程序实例
- 使用Composer安装Yii框架的方法
- jQuery 判断元素整理汇总
- JS实现的数组去除重复数据算法小结
- Bootstrap实现下拉菜单多级联动
- python如何对实例属性进行类型检查
- jQuery 改变P标签文本值方法
- MySQL8新特性:降序索引详解