PHP 递归创建目录
/*
用迭代的方法递归创建目录
其实在PHP5.0.0之后mkdir就已经能递归创建目录了。
这里主要是自己学习迭代,所以拿创建级联目录开刀了。
开发中应该写mkdir('./a/b/c/d/e',0777,true);
官方说明:
在 PHP 中可以调用递归函数。
但是要避免递归函数/方法调用超过 100-200 层,
因为可能会使堆栈崩溃从而使当前脚本终止。
*/
function itMkDir($path)
{
//定义一个数组,用来存放需要工作创建目录的任务
$arr = array();
//如果要创建的目录不存在,则表示有任务追加
while (!is_dir($path)) {
array_unshift($arr, $path);
//将任务追加后取父目录
$path = dirname($path);
}
//如果没有任务(即:需要创建的目录已经存在)
if (empty($arr)) {
return true;
}
//否则开始执行任务
foreach ($arr as $k => $v) {
//由上面的array_unshift压入方式,可直接这样调用
mkdir($v);// ? print('创建' . $v . '目录成功!<br>') : print('创建失败->' . $v . '<br>');
}
return true;
}
PHP 递归创建目录的更多相关文章
- lua中清空目录和递归创建目录
lua中的 lfs.mkdir lfs.rmdir只能针对单个目录,且lfs.rmdir不能清空文件夹 于是我想到了使用os.execute 递归创建目录如下os.execute("mkdi ...
- php 递归创建目录、递归删除非空目录、迭代创建目录
递归创建目录 方法一 function mk_dir($path){ if(is_dir($path)){ //参数本身是一个目录 return true; } if(is_dir(dirname($ ...
- mkdir递归创建目录
mkdir递归创建目录 rmdir递归删除目录 -p:父目录为空时,一并进行创建-v:命令执行结果可视化mkdir -pv /tmp/x/y/zrmdir -p /tmp/x/y/z mkdir -p ...
- php递归创建目录
/** * 递归创建目录 * @param [string] $path [创建的目录] * @return [type] [description] */ function mk_Dir($path ...
- php之递归调用,递归创建目录
/* 递归自身调用自身,每次调用把问题简化,直到问题解决 即:把大的任务拆成相同性质的多个小任务完成 */ /* function recsum($n){ if($n>1){ return $n ...
- nodejs递归创建目录,同步和异步方法
nodejs递归创建目录,同步和异步方法.在官方API中只提供了最基本的方法,只能创建单级目录,如果要创建一个多级的目录(./aaa/bbb/ccc)就只能一级一级的创建,感觉不是很方便,因此简单写了 ...
- nodejs 递归创建目录
nodejs没有递归创建目录的方法,以前创建的时候是将目录通过path.sep,然后再一步步判断,这个方法在windows下面遇到盘符的时候,然后蛋疼了.今天又用到了这个功能,突然想到了另外一种方法, ...
- Linux mkdir 如何递归创建目录?
mkdir 如何递归创建目录? mkdir –vp 目录1/目录2/目录3 详细介绍: linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目 ...
- nodejs递归创建目录
var fs = require("fs"); var path = require("path"); // 递归创建目录 异步方法 function mkdi ...
随机推荐
- 开源PaaS产品介绍
简介 本文主要介绍一下PaaS领域两个著名的开源软件: Cloud Foundry和OpenShift. [广告]如果你喜欢本博客,请点此查看本博客所有文章:http://www.cnblogs.co ...
- Android之利用HTTP网络通信实现与PHP的交互(三)
Android与PHP的交互是通过Http网络编程来实现的,利用php访问数据库,并且操作数据库中的数据,利用php作为接口,使Android连接数据库. 一般情况下,我们使用Json格式进行传输,利 ...
- PHP数据库结果集处理
mysql连接成功后可以用msql_query来获得一个资源型的结果集. $sql = 'select * from emp_info';$result = mysqli_query($link,$s ...
- Android_listview_scrollListener
layout.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" x ...
- JS获取活动区域高和宽
var width; var height; //获取窗口宽度 if (window.innerWidth) ...
- Android 自学之绝对布局 AbsoluteLayout
绝对布局(AbsoluteLayout),绝对布局就像java AWT中的空布局:所谓的绝对布局就是Android不提供任何的布局控制,而是有开发人员自己通过X坐标和Y坐标来控制组件的位置.当使用绝对 ...
- oracle学习总结3
1:ddl语句创建一张学生表 create table stu(id number(6) not null,name varchar2(20),age number(3),gender char(1) ...
- linux系统安装对硬件有什么要求
Linux系统对你的硬件要求不是很高,你可以参照你的系统上面的参数进行对照,Linux系统的初衷就是以最低的配置完成最高的性能,随意,现在的计算机都可以安装这个系统的,你不要顾虑多了,但是分区你不用系 ...
- 设置ISE/vivado中默认文本编辑器为gvim
ise windows版,添加方式 ISE下点击菜单Edit -> Preferences -> Editor. 在Editor选项框里选择Custom,在Command line syn ...
- Flash cs6 如何从FLA 文件导出sound文件
Flash. How to export sound from the FLA file extract sound from a fla 第一个是图文教程,在下面还有"watch vide ...