php文件相关操作

  1 //遍历目录及文件
  2 
  3 function myBianli($dirname){
  4 //1.打开
  5 $dir = opendir($dirname);
  6 //2.读取
  7 while($filename = readdir($dir)){
  8 if($filename != '.' && $filename != '..'){
  9 //拼接路径
 10 $path = $dirname.'/'.$filename;
 11 if(is_dir($path)){
 12 echo '目录:<a href="?path='.$path.'">'.$path.'</a><hr/>';
 13 }else{
 14 echo '文件:'.$path.'<br/>';
 15 }
 16 }
 17 }
 18 //3.关闭
 19 closedir($dir);
 20 }
 21 
 22 //移动文件
 23 
 24 <?php
 25 //移动目录
 26 //@param1:原路径
 27 //@param2:目标路径
 28 myReName('原路径','目标路径');
 29 function myReName($dirsrc,$dirto){
 30 //1.判断目标是否是目录
 31 if(is_file($dirto)){
 32 echo '目标不是目录不能创建';
 33 return;
 34 }
 35 //2.判断目标目录是否存在 不存在则创建
 36 if(!file_exists($dirto)){
 37 mkdir($dirto);
 38 echo '创建目录:'.$dirto.'成功<br/>';
 39 }
 40 //3.打开原目录
 41 $dir = opendir($dirsrc);
 42 //4.循环读取源目录
 43 while($filename = readdir($dir)){
 44 //过滤点和点点
 45 if($filename != '.' && $filename != '..'){
 46 //拼接源完整路径
 47 $file1 = $dirsrc.'/'.$filename;
 48 //拼接目标完整路径
 49 $file2 = $dirto.'/'.$filename;
 50 //判断源完整路径是否是目录
 51 if(is_dir($file1)){
 52 //调用函数
 53 myReName($file1,$file2);
 54 }else{
 55 //是文件
 56 rename($file1,$file2);
 57 echo '移动文件:'.$file1.'成功<br/>';
 58 }
 59 }
 60 }
 61 //5.关闭源目录
 62 closedir($dir);
 63 //6.删除源目录
 64 rmdir($dirsrc);
 65 }
 66 
 67 //统计目录大小
 68 
 69 <?php
 70 $size = dirsize('./daye');
 71 echo $size.'<hr/>';
 72 $s = tosize($size);
 73 echo $s.'<br/>';
 74 function dirsize($dirname){
 75 //统计目录大小
 76 $total = 0;
 77 //1.打开目录
 78 $dir = opendir($dirname);
 79 //2.循环读取
 80 while($filename = readdir($dir)){
 81 //2.1过滤掉点和点点
 82 if($filename != '.' && $filename != '..'){
 83 //2.2拼接完整路径
 84 $path = $dirname.'/'.$filename;
 85 //2.3是文件还是目录
 86 if(is_dir($path)){
 87 $total += dirsize($path);
 88 }else{
 89 $total += filesize($path);
 90 }
 91 }
 92 }
 93 //3.关闭目录
 94 closedir($dir);
 95 return $total;
 96 }
 97 
 98 function tosize($size){
 99 if($size > pow(1024,3)){
100 $dw = 'GB';
101 $size = round($size/pow(1024,3),2);
102 }elseif($size > pow(1024,2)){
103 $dw = 'MB';
104 $size = round($size / pow(1024,2),2);
105 }elseif($size > 1024){
106 $dw = 'KB';
107 $size = round($size / 2014,2);
108 }else{
109 $dw = 'byte';
110 }
111 return $size.$dw;
112 }
113 /*
114 1024byte = 1kb
115 1024kb = 1mb
116 1024mb = 1GB
117 */
118 
119 //统计数量
120 
121 <?php
122 $dirnum = 0;
123 $filenum = 0;
124 total('目录路径',$dirnum,$filenum);
125 echo '目录数:'.$dirnum;
126 echo '<br/>文件数:'.$filenum;
127 //统计目录和文件个数
128 function total($dirname,&$dirnum,&$filenum){
129 //1.打开目录
130 $dir = opendir($dirname);
131 //2.循环读取目录
132 while($filename = readdir($dir)){
133 //    2.1过滤掉点和点点
134 if($filename != '.' && $filename != '..'){
135 //    2.2拼接完整路径
136 $path = $dirname.'/'.$filename;
137 //    2.3判断是否是目录
138 if(is_dir($path)){
139 //调用自己
140 total($path,$dirnum,$filenum);
141 $dirnum ++;
142 }else{
143 //不是目录 是文件
144 $filenum ++;
145 }
146 }
147 }
148 //3.关闭目录
149 closedir($dir);
150 }

 

posted on 2018-05-11 14:04  xuxxnb  阅读(133)  评论(0编辑  收藏  举报

导航