文件目录操作

   燕十八 公益PHP培训 
  课堂地址:YY频道88354001 
  学习社区:www.zixue.it

1
<?php 2 /* 3 级联创建目录 递归 4 */ mkdir('./a/b/c/d/e/f',0777,true)?'OK':'fail'; 这行代码可以不要递归级联创建目录 5 6 /* 7 8 function mk_dir($path){ 9 if(is_dir($path)){ //要创建的目录存在,直接返回true 10 return true; 11 } 12 13 if(is_dir(dirname($path))) { //父目录存在 创建目录 14 return mkdir($path); 15 } 16 17 mk_dir(dirname($path)); //父目录不存在 找到入口 此时递归 18 return mkdir($path); 19 } 20 21 echo mk_dir('./a/b/c/d/e')?'OK':'fail'; 22 */ 23 ////////////////////////////// 24 /* 25 级联创建目录 迭代 26 */ 27 /* 28 function mk_dir($path) { 29 $arr = array(); 30 31 while(!is_dir($path)) { 32 //如果!is_dir($path)为真,则需要创建$path目录 33 array_push($arr,$path); //推入数组 入栈 34 $path = dirname($path); //得到$path父目录进行循环 35 } 36 37 if(empty($arr)) { 38 return true; 39 } 40 41 while(count($arr)) { 42 $tmp = array_pop($arr); //出栈 43 mkdir($tmp); 44 } 45 } 46 47 mk_dir('./a/b/c/d/e'); 48 */ 49 50 51 ////////级联删除目录 递归 52 /* 53 function del_dir($path) { 54 if(!is_dir($path)){ 55 return NULL; 56 } 57 58 $dh = opendir($path); 59 60 while(($row = readdir($dh)) != false) { 61 if($row == '.' || $row == '..') { 62 continue; 63 } 64 if(!is_dir($path . '/' . $row)) { 65 unlink($path .'/' . $row); 66 }else { 67 del_dir($path . '/' . $row); //递归子目录 68 } 69 } 70 71 closedir($dh); 72 rmdir($path); 73 74 echo '删了',$path,'<br />'; 75 return true; 76 } 77 78 del_dir('./a')?'OK':'fail'; 79 */ 80 81 82 //级联读取目录 递归 83 84 function recdir($path,$lev=1) { 85 $dh = opendir($path); 86 87 while(($row = readdir($dh)) !== false) { 88 if($row == '.' || $row == '..') { 89 continue; 90 } 91 92 echo '├',str_repeat('─',$lev),$row,'<br />'; 93 94 // 如果$row还是目录 怎么办? 95 if(is_dir($path . '/' .$row)) { 96 recdir($path . '/' .$row,$lev+1); 97 } 98 } 99 100 closedir($dh); 101 } 102 103 recdir('F:\wamp\www\test\1'); 104 ?>
posted @ 2012-11-23 02:14  小刘_php  阅读(95)  评论(0)    收藏  举报