时间:13-11-25 栏目:网站开发 作者:admin 评论:0 点击: 4,677 次
本文标签: 开源代码
<?php /** *author : liexusong */ function get_dir_size($dir) { $size = 0;//大小 $num_dir=0;//文件夹数量 $num_file=0;//文件数量 //保证右边绝对有'/' $path = rtrim(str_replace('\\', '/', $dir), '/').'/'; if(!is_dir($dir)) return; $dp = opendir($dir); if(!$dp) return; $out = '<ul>'; while(($element = readdir($dp)) !== false) { if($element != '.' && $element != '..') { if(is_dir($path.$element)) { list($size_dir,$sub_num_dir,$sub_num_file,$sub_out) = get_dir_size($path.$element); $out .= '<li class="'.$size_dir.'">'.$path.$element.':'; $out .= '<strong>'.setupSize($size_dir).',Sub dir:'.$sub_num_dir.',file:'.$sub_num_file.'</strong>'.$sub_out.'</li>'; $size += $size_dir; $num_dir +=$sub_num_dir; $num_file +=$sub_num_file; $num_dir ++;//本文件夹 } else { $size += filesize($path.$element); //不显示文件列表 //echo '<li>'.$path.$element.':'. setupSize(filesize($path.$element)).'</li>'; $num_file++; } } } $out .= '</ul>'; return array($size,$num_dir,$num_file,$out); } function setupColor($size){ } //转换单位($filesize是一个int) function setupSize($fileSize) { // $size = sprintf("%u", $fileSize); //echo $size.'<br>'; $size =$fileSize; if($size == 0) { return("0 Bytes"); } $sizename = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB"); return round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $sizename[$i]; } header('Content-type:text/html;Charset=utf-8'); //取出来的是字节,所以还要除以1024*1024,然后用number_format()四舍五入取两位小数 //就是这里造成了windows资源管理器中文件夹大小不一致的原因,因为后者是直接截取2位 //E:\WebsiteData\200MB\sundayschool-CCFIILPSSVZZdggjnnqtww1447AAEHHK\www $full_use_space=1073741824*20;//可使用空间大小G $path = dirname(__FILE__); //$path =substr($path,0,-11); //$size = get_dir_size($path); list($size,$num_dir,$num_file,$out)= get_dir_size($path); //echo $path.$dir; //echo $size.' Bytes'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>空间大小统计</title> <style> body{ font-size:12px} li{padding-bottom:5px; margin:1px; border: #FFDBB4 1px solid } </style> </head> <body> <?php echo '<br><strong>可使用空间大小:</strong>'; echo setupSize($full_use_space); echo '<br><strong>已经使用空间大小:</strong>'; echo setupSize($size); echo '<br><strong>剩余空间大小:</strong>'; $can_use_size = $full_use_space - $size; echo $can_use_size < 0 ? '-':''; echo setupSize(abs($can_use_size)); echo '<br><strong>总目录数:</strong>'; echo $num_dir; echo '<br><strong>总文件数:</strong>'; echo $num_file; echo '<hr>'; echo $out; //echo '<br>'; //echo number_format($size /1024/1024, 2) , 'M'; ?> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript" > var total_size = <?php echo $size?>; $(document).ready(function(){ // 在这里写你的代码... $('li').each(function(){ var size = $(this).attr('class'); if(size >0){ color = 255 - parseInt( size / total_size * 255); $(this).css('background-color','rgb('+color+',255,255)'); }else{ $(this).css('color','#999999'); } }); // alert(size); }); </script> </body> </html>
声明: 本文由( admin )原创编译,转载请保留链接: 青剑开源代码之PHP列出指定目录文件大小
------====== 本站公告 ======------
联系信息:
电话:19970108113(微信同号) QQ:3142401606
支付宝:https://me.alipay.com/lxq73061
相关插件程序等信息均会在站内发布,敬请关注。