PHP 递归学习

<?php

//求1+2+3+。。。。+n的和
 function sum($n){
	 if($n == 1){
		 return 1;
	 }else{
		return $n + sum($n-1);
	 }
 }
echo sum(5);
echo '<hr>';



//打印目录
  function getDirs($path,$count){
	
	$dh = opendir($path);

	while(($name = readdir($dh)) != false){

		if($name != '.' && $name != '..'){
			//echo $name,'<br />';
			echo '|-',str_repeat('--',$count),$name,'<br/>';
			if(is_dir($path.'/'.$name)){
				getDirs($name,$count+1);
			}
		}
	}
  }

  
  getDirs('./',1);


 

 

 

<?php



//递归创建目录
function createDir($path){
	
	//如果已经存在,直接返回
	if(file_exists($path) && is_dir($path)){
		return true;
	}
	//如果父目录存在,则创建
	if(file_exists(dirname($path)) && is_dir(dirname($path))){
		return mkdir($path);
	}

	//程序执行到这里,说明父目录也没有,先创建父目录
	createDir(dirname($path));
	return mkdir($path);

}
echo createDir('./a/b/c/d')?'create success':'create false','<br />';


// PHP5可以创建级联目录
//echo mkdir('./aa/bb/cc/dd',0077,true);



function deleteDir($path){
	if(!is_dir($path)){
		return NULL;
	}

	$dh = opendir($path);
	while(($name = readdir($dh)) != false){
		if($name != '.' && $name != '..'){
			if(is_dir($path.'/'.$name)){
				deleteDir($path.'/'.$name);
			}else{
				unlink($path.'/'.$name);
			}

		}
	}
	//关闭目录读取通道
	closedir($dh);
	rmdir($path);
	return true;
}
echo deleteDir('./a')?'delete success':'delete false';




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值