zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    Python脚本模拟登陆DVWA
    PHP单元测试使用
    PHPUnit实践一(初识)
    composer引用本地git做为源库
    编写自己的composer项目
    Laravel 核心--Facades 门面
    Laravel5 创建自定义门面(Facade)
    简单理解laravel框架中的服务容器,服务提供者以及怎样调用服务
    Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可)
    cocos2d-x游戏开发系列教程-坦克大战游戏之坦克和地图碰撞的检测下
  • 原文地址:https://www.cnblogs.com/wutianfei/p/9024275.html
Copyright © 2011-2022 走看看