喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

【村长请吃饭啊】 ---北京诚聘--- 【你还在犹豫吗?】

上一主题 下一主题
     
标题: 文件夹树型结构 && 文件夹概况  
 
goodlook
中级会员
Rank: 3Rank: 3
中级会员


UID 18784
精华 0
积分 380
帖子 388
金钱 380 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2003-3-8
状态 离线
文件夹树型结构 && 文件夹概况

第一个适用于文件比较少的目录相看情况,第二个适用于文件特别多(我的8W多个文件的目录,用第一个不被执行,呵呵)

用法:将文件放入想查看信息的文件夹根目录,执行即可。也可在程序内设置目录路径。
因为比较简单,就没有写说明。

记不得是什么时候写的了,这几天用着了,改了一点点,顺便发出来。
附件中是两个文件打包。



文件夹树型结构

<?php
/*****************************************************
* 原文转载请保留以下信息:)
* 中文名        : 文件夹树型结构
* 版权          : [url]www.homesee.cn[/url]
* 文件名        : dir.php
* 作者          : StartMenu (QQ:4681411,msn:moneyease@msn.com)
* 功能            : 文件夹详情
* 制作          : 200-7-5
* 广告          : 特价优质虚拟主机代理: [url]http://www.hostme.cn[/url] 
*****************************************************/

error_reporting(2047);


$a = new haosee_dir;
$a->d='./';
$a->show();

$d=$a->dir_file;
show_dir($d);




function 
show_dir($ds,$t='|--'){
    for(
$i=0;$i<count($ds);$i++){
        
$d=$ds[$i];
        if(
$d['type']=='dir'){
            echo 
$t.$d['name']."[size=".show_size($d['size'])."][time=".date('Y-m-d H:i:s',$d['time'])."][dir_num=".$d['dir_num']."][file_num=".$d['file_num']."]<br>";
            
$info=$d['info'];
            
show_dir($info,"|     ".$t);
        }
        elseif(
$d['type']=='file'){
            echo 
$t.$d['name']."[size=".show_size($d['size'])."][time=".date('Y-m-d H:i:s',$d['time'])."]<br>";

        }
    }
}


class 
haosee_dir{
    var 
$d;
    var 
$dir_file=array();
    function 
show(){
        return 
$this->dir_file[]=$this->read_dir($this->d);
    }
    function 
read_dir($dir){
         
$f_d_num=0;
         
$f_f_num=0;
         
$f_size=0;
         if(@
is_dir($dir)) $f_type='dir';
         elseif(@
is_file($dir)) $f_type='file';
         
$handle = @opendir($dir);

         while (
$file = @readdir ($handle)){
             if (@
eregi("^.{1,2}$",$file)){
                 continue;
             }
             
$t_file=$dir.'/'.$file;

             unset(
$f_a);
             
$f_a['name']=$file;
             if( @
is_dir($t_file) ){
                 
$f_a['type']='dir';
                 
$n_dir_info=$this->read_dir($t_file);
                 
$f_a['size']=$n_dir_info['size'];
                 
$f_a['time']=@filemtime($t_file);
                 
$f_a['dir_num']=$n_dir_info['dir_num'];
                 
$f_a['file_num']=$n_dir_info['file_num'];
                 
$f_a['info']=$n_dir_info['info'];
                 
$f_d_num++;
             }
             elseif(
is_file($t_file)){
                 
$f_a['type']='file';
                 
$f_a['size']=@filesize($t_file);
                 
$f_a['time']=@filemtime($t_file);
                 
$f_f_num++;
             }
             
$f_size+=$f_a['size'];
             
$f[]= $f_a;
         }
         @
closedir($handle);
         
$dirx=@explode('/',$dir);
         
$f_f['name']=$dirx[count($dirx)-1];
         unset(
$dirx);
         
$f_f['type']=$f_type;
         
$f_f['size']=$f_size;
         
$f_f['time']=@filemtime($dir);
         
$f_f['dir_num']=$f_d_num;
         
$f_f['file_num']=$f_f_num;
         
$f_f['info']=$f;
         return 
$f_f;
    }
}


function 
show_size($size){
    return     
$size=
    (
$size<1024?$size.'B':
    (
$size<1024*1024?number_format($size/1024,2).'KB':
    (
$size<1024*1024*1024?number_format($size/1024/1024,2).'MB':
    
number_format($size/1024/1024/1024,2).'GB')));
}
?>
文件夹概况

<?php
/*****************************************************
* 原文转载请保留以下信息:)
* 中文名        : 文件夹概况
* 版权          : [url]www.homesee.cn[/url]
* 文件名        : dirinfo.php
* 作者          : StartMenu (QQ:4681411,msn:moneyease@msn.com)
* 功能            : 文件夹详情
* 制作          : 200-7-5
* 广告          : 特价优质虚拟主机代理: [url]http://www.hostme.cn[/url] 
*****************************************************/

error_reporting(2047);



$a = new haosee_dir;
$a->d='./';
$a->show();
$d=$a->dir_file;


echo 
'本文件夹下共<font color=red>'.$d[0]['dir_num'].'</font>个文件夹,<font color=red>'.$d[0]['file_num'].'</font>个文件,共计<font color=red>'.show_size($d[0]['size']).'</font>';

class 
haosee_dir{
    var 
$d;
    var 
$dir_file=array();
    function 
show(){
        return 
$this->dir_file[]=$this->read_dir($this->d);
    }
    function 
read_dir($dir){
         
$f_d_num=0;
         
$f_f_num=0;
         
$f_size=0;
         
$handle = @opendir($dir);
         while (
$file = @readdir ($handle)){
             if (@
eregi("^.{1,2}$",$file)){
                 continue;
             }
             
$t_file=$dir.'/'.$file;
             unset(
$f_a);
             if( @
is_dir($t_file) ){
                 
$n_dir_info=$this->read_dir($t_file);
                 
$f_a['size']=$n_dir_info['size'];
                 
$f_a['dir_num']=$n_dir_info['dir_num'];
                 
$f_a['file_num']=$n_dir_info['file_num'];
                 
$f_d_num+= $f_a['dir_num'];
                 
$f_f_num+=$f_a['file_num'];
                 
$f_d_num++;
             }
             elseif(@
is_file($t_file)){
                 
$f_a['size']=@filesize($t_file);
                 
$f_f_num++;
             }
             
$f_size+=$f_a['size'];
         }
         @
closedir($handle);
         
$f_f['size']=$f_size;
         
$f_f['dir_num']=$f_d_num;
         
$f_f['file_num']=$f_f_num;
         return 
$f_f;
    }
}


function 
show_size($size){
    return     
$size=
    (
$size<1024?$size.'B':
    (
$size<1024*1024?number_format($size/1024,2).'KB':
    (
$size<1024*1024*1024?number_format($size/1024/1024,2).'MB':
    
number_format($size/1024/1024/1024,2).'GB')));
}
?>
[ 本帖最后由 goodlook 于 2006-7-5 11:07 AM 编辑 ]


 附件: 您所在的用户组无法下载或查看附件



超值blog主机,大IIS,大流量45元,QQ:4681411
www.hostme.cn
2006-7-5 10:56 AM#1
查看资料  访问主页  发短消息  顶部
 
goodlook
中级会员
Rank: 3Rank: 3
中级会员


UID 18784
精华 0
积分 380
帖子 388
金钱 380 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2003-3-8
状态 离线
[推荐阅读] [出租]美洲欧洲高速主机,抗DDOS,迄今连中国最快游戏主机,最新无限流量空间
不好意见,2006-7-5 11:07 AM  之前发的有一点点小问题,现在修复了



超值blog主机,大IIS,大流量45元,QQ:4681411
www.hostme.cn
2006-7-5 11:09 AM#2
查看资料  访问主页  发短消息  顶部
 
LuckLrj (中国php中的爱因斯坦)
版主
Rank: 7Rank: 7Rank: 7
老会员


UID 64836
精华 0
积分 2249
帖子 3036
金钱 2249 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2005-6-19
状态 在线
[推荐阅读] 请问判断站内链接与外部链接的问题...
支持一个。



学习,工作累了,请访问我的小站,娱乐一下。http://www.52sunny.net
2006-7-5 11:13 AM#3
查看资料  Blog  发短消息  顶部
 
qh663
版主
Rank: 7Rank: 7Rank: 7
中级会员


UID 30020
精华 0
积分 546
帖子 580
金钱 546 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2004-7-13
来自 河源
状态 离线
[推荐阅读] 如何有效过滤过滤所有的HTML标签、CSS样式表、JS代码。
很好,支持一下。
不知道将@eregi("^\.{1,2}$",$file换成$file !== '.' AND $file !== '..'效率会不会高一点?




五百多篇PHP学习资料
喜悦村BLOG
php团队接兼职项目QQ:80031807
PHP群:768844
2006-7-5 02:33 PM#4
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
sq1228
中级会员
Rank: 3Rank: 3
一般会员


UID 66008
精华 0
积分 267
帖子 239
金钱 267 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2005-8-19
来自 浙江宁波
状态 离线
[推荐阅读] [求助]用户管理模块
好同志啊~~,支持!!
2006-7-6 10:50 AM#5
查看资料  发短消息  QQ  顶部
 
kigpub
新手上路
Rank: 1



UID 75777
精华 0
积分 42
帖子 29
金钱 42 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2006-6-30
状态 离线
[推荐阅读] 求:Session 问题
有没有执行后的效果页面看看??

哪位高人发一个图上来看看?
2006-7-6 04:55 PM#6
查看资料  发短消息  顶部
 
wuminghuo
新手上路
Rank: 1
初级会员


UID 68697
精华 0
积分 38
帖子 62
金钱 38 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2006-2-18
来自 郑州--北京
状态 离线
[推荐阅读] 谁有好点的下载系统?
不错不错,学习学习
2006-7-9 01:56 PM#7
查看资料  访问主页  发短消息  顶部
 
goodlook
中级会员
Rank: 3Rank: 3
中级会员


UID 18784
精华 0
积分 380
帖子 388
金钱 380 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2003-3-8
状态 离线
[推荐阅读] 一个php4安装问题


QUOTE:
原帖由 qh663 于 2006-7-5 02:33 PM 发表
很好,支持一下。
不知道将@eregi("^\.{1,2}$",$file换成$file !== '.' AND $file !== '..'效率会不会高一点?
是的,大家可以自行修改一下,我就不去改原贴和附件了。




超值blog主机,大IIS,大流量45元,QQ:4681411
www.hostme.cn
2006-7-21 12:57 PM#8
查看资料  访问主页  发短消息  顶部
 
tl84 (tl84)
乞丐

初级会员



UID 49872
精华 0
积分 -1
帖子 20
金钱 -1 喜悦币
威望 0
人脉 0
阅读权限 1
注册 2004-11-15
状态 离线
[推荐阅读] ereg和preg哪个快
挺好的东西!
2006-8-29 02:10 PM#9
查看资料  发短消息  QQ  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 


Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.036724 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP