php递归创建目录的方法
本文实例讲述了php递归创建目录的方法,分享给大家供大家参考。
具体实现代码如下:
<?php function mk_dir($path){ //第1种情况,该目录已经存在 if(is_dir($path)){ return; } //第2种情况,父目录存在,本身不存在 if(is_dir(dirname($path))){ mkdir($path); } //第3种情况,父目录不存在 if(!is_dir(dirname($path))){ mk_dir(dirname($path));//创建父目录 mkdir($path); } } $path = './e/b/c/f'; mk_dir($path); ?>
换成三元运算,代码如下:
<?php function mk_dir($path){ //第1种情况,该目录已经存在 if(is_dir($path)){ return; } //三元运算 return is_dir(dirname($path)||mk_dir(dirname($path)?mkdir($path):false; } $path = './e/b/c/f'; mk_dir($path); ?>
希望本文所述对大家的php程序设计有所帮助。
相关推荐
-
php实现用于删除整个目录的递归函数
本文实例讲述了php实现用于删除整个目录的递归函数.分享给大家供大家参考.具体实现方法如下: <?php function delete_directory($dir) { if ($dh = @opendir($dir)) { while (($file = readdir ($dh)) != false) { if (($file == ".") || ($file == "..")) continue; if (is_dir($dir . '/' . $
-
php使用递归函数实现数字累加的方法
本文实例讲述了php使用递归函数实现数字累加的方法.分享给大家供大家参考.具体实现方法如下: <?php function summation ($count) { if ($count != 0) : return $count + summation($count-1); endif; } $sum = summation(10); print "Summation = $sum"; ?> 希望本文所述对大家的php程序设计有所帮助.
-
php使用递归计算文件夹大小
方法很简单,这里就不多废话了,直接奉上代码: 复制代码 代码如下: protected function dir_size($dir){ $dh = opendir($dir); //打开目录,返回一个目录流 $size = 0; //初始大小为0 while(false !== ($file = @readdir($dh))){ //循环读取目录下的文件 if($file!='.'
-
php递归法读取目录及文件的方法
本文实例讲述了php递归法读取目录及文件的方法.分享给大家供大家参考.具体如下: 这里实例分析php递归法读取目录及文件的方法,代码中包含较为详尽的注释,如下所示: <?php function showdir($path){ $dh = opendir($path);//打开目录 while(($d = readdir($dh)) != false){ //逐个文件读取,添加!=false条件,是为避免有文件或目录的名称为0 if($d=='.' || $d == '..'){//判断是否为.
-
php实现递归抓取网页类实例
本文实例讲述了php实现递归抓取网页类的方法.分享给大家供大家参考.具体如下: <?php class crawler{ private $_depth=5; private $_urls=array(); function extract_links($url) { if(!$this->_started){ $this->_started=1; $curr_depth=0; }else{ $curr_depth++; } if($curr_depth<$this->_de
-
php递归遍历删除文件的方法
本文实例讲述了php递归遍历删除文件的方法.分享给大家供大家参考.具体如下: 这个函数稍加修改就可以变成一个递归文件拷贝函数 <?php function mover($src,$dst) { $handle=opendir($src); // Opens source dir. if (!is_dir($dst)) mkdir($dst,0755); // Make dest dir. while ($file = readdir($handle)) { if (($file!=".&q
-
PHP不用递归遍历目录下所有文件的代码
实现代码: /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ function scanfiles($dir) { if (! is_dir ( $dir )) return array (); // 兼容各操作系统 $dir = rtrim ( str_replace ( '\\', '/', $dir ), '/' ) . '/'; // 栈,默认值为传入的目录 $
-
php递归删除目录与文件的方法
本文实例讲述了php递归删除目录与文件的方法.分享给大家供大家参考.具体实现方法如下: <?php function deldir($path){ $dh = opendir($path); var_dump(readdir($dh)); while(($d = readdir($dh)) !== false){ if($d == '.' || $d == '..'){//如果为.或.. continue; } $tmp = $path.'/'.$d; if(!is_dir($tmp)){//如
-
PHP递归遍历指定目录的文件并统计文件数量的方法
本文实例讲述了PHP递归遍历指定目录的文件并统计文件数量的方法.分享给大家供大家参考.具体实现方法如下: <?php //递归函数实现遍历指定文件下的目录与文件数量 function total($dirname,&$dirnum,&$filenum){ $dir=opendir($dirname); echo readdir($dir)."<br>"; //读取当前目录文件 echo readdir($dir)."<br>&qu
-
php递归创建目录的方法
本文实例讲述了php递归创建目录的方法,分享给大家供大家参考. 具体实现代码如下: <?php function mk_dir($path){ //第1种情况,该目录已经存在 if(is_dir($path)){ return; } //第2种情况,父目录存在,本身不存在 if(is_dir(dirname($path))){ mkdir($path); } //第3种情况,父目录不存在 if(!is_dir(dirname($path))){ mk_dir(dirname($path));//
-
JavaScript中递归实现的方法及其区别
递归函数:递归函数是在通过名字调用自身的情况下构成的. 递归实现阶乘函数: 方法一:通过使用函数的名字 function factorial(num){ if(num<=1){ return 1; }else{ return num*factorial(num-1); } } console.log(factorial(4)); 结果为:24: 但是这种方法实现递归有一个问题,观察以下代码: function factorial(num){ if(num<=1){ return 1; }els
-
PHP实现数组递归转义的方法
本文以实例形式讲述了PHP实现数组递归转义的方法,分享给大家供大家参考之用.具体方法如下: 主要功能代码如下: $arr = array('a"aa',array("c'd",array('e"f'))); function changes($arr){ foreach($arr as $k=>$v){ if (is_string($v)){ $arr[$k] = addslashes($v); }else if (is_array($v)) { //若为数组
-
php实现在服务器上创建目录的方法
本文实例讲述了php实现在服务器上创建目录的方法.分享给大家供大家参考.具体分析如下: 下面的代码先判断目录是否存在,然后通过mkdir()函数在服务器上创建了一个目录 <?php if (file_exists("/temp/test")) { print("Test Directory already exists.\n"); } else { mkdir("/temp/test"); print("Test Director
-
PHP树-不需要递归的实现方法
PHP树-不需要递归的实现方法 /** * 创建父节点树形数组 * 参数 * $ar 数组,邻接列表方式组织的数据 * $id 数组中作为主键的下标或关联键名 * $pid 数组中作为父键的下标或关联键名 * 返回 多维数组 **/ function find_parent($ar, $id='id', $pid='pid') { foreach($ar as $v) $t[$v[$id]] = $v; foreach ($t as $k => $item){ if( $item[$pid] )
-
php无限极分类递归排序实现方法
本文实例讲述了php无限极分类递归排序实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: function order ($array,$pid=0){ $arr = array(); foreach($array as $v){ if($v['pid']==$pid){ $arr[] = $v; $arr = array_merge($arr,order($array,$v['
-
python非递归全排列实现方法
刚刚开始学习python,当前看到了函数这一节.结合数组操作,写了个非递归的全排列生成.原理是插入法,也就是在一个有n个元素的已有排列中,后加入的元素,依次在前,中,后的每一个位置插入,生成n+1个新的全排列.因为Python切割数组或者字符串,以及合并比较方便,所以,程序会节省很多代码. def getArrayInsertCharToStr(STR,CHAR): arr =[] s_len = len(STR) index =0 while index <= s_len: #分割字符串 ar
-
PHP数组递归排序实现方法示例
本文实例讲述了PHP数组递归排序实现方法.分享给大家供大家参考,具体如下: /** * 递归根据特定key对数组排序 * @param $data * @param string $orderKey * @param string $sonKey * @param int $orderBy * @return mixed */ function recursion_orderby($data, $orderKey = 'order', $sonKey = 'children', $orderBy
-
Android 6.0 无法在SD卡创建目录的方法
摘要 今天开发中遇到一个问题,项目无法在Android6.0设备的SD卡创建目录,在Android6.0以下的移动设备测试了5.0 .4.3的设备,均正常,但是在Android6.0却不正常. 经过排查,执行下列代码无法在6.0的设备上面创建目录 File dir = new File(DbConfig.BASE_PATH); if (!dir.exists()) { dir.mkdirs(); } 衍生知识 2015年5月29日中Google I/O开发者大会,Google 发布了 Andro
-
python实现文法左递归的消除方法
前言 继词法分析后,又来到语法分析范畴.完成语法分析需要解决几个子问题,今天就完成文法左递归的消除. 没借鉴任何博客,完全自己造轮子. 开始之前 文法左递归消除程序的核心是对字符串的处理,输入的产生式作为字符串,对它的拆分.替换与合并操作贯穿始终,处理过程的逻辑和思路稍有错漏便会漏洞百出. 采用直接改写法,不理解左递归消除方法很难读懂代码. 要求 CFG文法判断 左递归的类型 消除直接左递归和间接左递归 界面 源码 import os import tkinter as tk import tk
随机推荐
- 伪静态下不能使用FCKeditor的解决方法
- 在阿里云 (aliyun) 服务器上搭建Ruby On Rails环境
- Python socket网络编程TCP/IP服务器与客户端通信
- Ubuntu cron日志开启与查看的实现步骤
- 从Oracle 表格行列转置说起第1/2页
- python的Template使用指南
- prototype框架中美元符号$用法分析
- javascript引用对象的方法
- jquery选择器的选择使用及性能介绍
- jquery 实现两Select 标签项互调示例代码
- JS中产生20位随机数以0-9为例也可以是a-z A-Z
- Java中的BufferedInputStream与BufferedOutputStream使用示例
- Android 设置Edittext获取焦点并弹出软键盘
- javascript显示倒计时控制按钮的简单实现
- JS实现的简单拖拽购物车功能示例【附源码下载】
- JavaScript实现的前端AES加密解密功能【基于CryptoJS】
- Linux date 时间设置同步命令分享
- 轻松解决JavaScript定时器越走越快的问题
- Java的Volatile实例用法及讲解
- 数据库sql语句优化