PHP遍历目录并返回统计目录大小

代码如下:

<?php
$dirname = "test1";
//mkdir($dirname);

//遍历一层目录
function listdir($dirname) {
$ds = opendir($dirname);
while($file = readdir($ds)) {
$path = $dirname.'/'.$file;
if(is_dir($file)) {
echo "DIR:".$file."<br>";
if($file != "." && $file != "..") {
listdir($file);
}
}
else {
echo "FILE:".$file . "<br>";
}
}
}

function totdir($dirname) { //对listdir稍加修改
static $tot = 0;
$ds = opendir($dirname);
while($file = readdir($ds)) {
$path = $dirname.'/'.$file;
if(is_dir($file)) {
//echo "DIR:".$file."<br>";
if($file != "." && $file != "..") {
$tot += totdir($file);
}
}
else {
//echo "FILE:".$file . "<br>";
$tot += filesize($path);
}
}

//返回总计
return $tot;
}

listdir($dirname);

echo totdir($dirname)." bytes";

?>

(0)

相关推荐

  • PHP文件大小格式化函数合集

    比如碰到一个很大的文件有49957289167B,大家一看这么一长串的数字后面单位是字节B,还是不知道这个文件的大小是一个什么概念,我们把它转换成GB为单位,就是46.53GB.用下面这些函数就可以完成这个工作: 复制代码 代码如下: //转换单位function setupSize($fileSize) {    $size = sprintf("%u", $fileSize);    if($size == 0) {         return("0 Bytes&quo

  • php统计文件大小,以GB、MB、KB、B输出

    使用filesize()函数命令实现文件大小的统计,要求:1,以GB.MB.KB.B中的一个输出:2.数量级必须大于1小于1024,并保留两位小数: 开始动工: 复制代码 代码如下: $len = filesize("1.rmvb"); $i=4; while($i){ if(($out=$len/pow(1024,$i))>1.0||$i==1){ switch($i){ case 4: {printf("%.2f TB",$out);break;} cas

  • php实现统计目录文件大小的函数

    早上刚到公司,头告诉我,抓紧写一个小函数,用来统计指定目录中文件大小,我了个去,动手吧,还好有点小基础,一会就完工了,哈哈.代码在下面咯. <? /** 统计目录文件大小的函数 @author xfcode */ function dirsize($dir) { @$dh = opendir($dir); $size = 0; while ($file = @readdir($dh)) { if ($file != "." and $file != "..")

  • php实现统计邮件大小的方法

    统计用户收件箱所占空间有多少,先计算每封邮件的大小(标题+内容+附近),后总和:1.计算附近大小:2.计算标题和内容大小3.总和求出单封邮件大小案例: 复制代码 代码如下: <?php        $attach_size= 0;        if($attachmentid){  //获取附近的大小            $attach_data= attachdata($attachmentid);            if($attach_data){               

  • php获取文件大小的方法

    复制代码 代码如下: static function convert($size) {         $unit=array('b','kb','mb','gb','tb','pb');         return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];     } 也可用下面这种方法 复制代码 代码如下: /** * Returns a human readable filesize */fu

  • PHP统计目录大小的自定义函数分享

    计算文件.磁盘分区和目录的大小在各种应用程序中都是常见的任务.计算文件的大小可以通过前面介绍过的filesize()函数完成,统计磁盘大小也可以使用disk_free_space()和disk_total_space()两个函数实现.但PHP目前并没有提供目录总大小的标准函数,因此我们要自定义一个函数来完成这个任务.首先要考虑计算的目录中有没有包含其他子目录的情况,如果没有子目录,目录下所有文件的大小相加后的总和就是这个目录的大小.如果包含子目录,就按照这个方法再计算一下子目录的大小,使用递归函

  • PHP遍历目录并返回统计目录大小

    复制代码 代码如下: <?php $dirname = "test1"; //mkdir($dirname); //遍历一层目录 function listdir($dirname) { $ds = opendir($dirname); while($file = readdir($ds)) { $path = $dirname.'/'.$file; if(is_dir($file)) { echo "DIR:".$file."<br>&

  • PHP统计目录中文件以及目录中目录大小的方法

    本文实例讲述了PHP统计目录中文件以及目录中目录大小的方法.分享给大家供大家参考,具体如下: <?php //循环遍历目录中所有的文件,并统计目录和文件的大小 $dirName="phpMyAdmin"; $dir=opendir($dirName); //返回一个资源类型 while($fileName=readdir($dir)){ $file=$dirName."/".$fileName; if($fileName!="." &

  • linux下使用 du查看某个文件或目录占用磁盘空间的大小方法

    du -ah --max-depth=1 这个是我想要的结果 a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度. du命令用来查看目录或文件所占用磁盘空间的大小.常用选项组合为:du -sh 一.du的功能:`du` reports the amount of disk space used by the specified files and for each subdirectory (of directory arguments)

  • PHP统计目录下的文件总数及代码行数(去除注释及空行)

    <?php /** * @author xiaoxiao <x_824@sina.com> 2011-1-12 * @link http://xiaoyaoxia.cnblogs.com/ * @license * 统计目录下的文件行数及总文件数··去除注释 */ $obj = new CaculateFiles(); //如果设置为false,这不会显示每个文件的信息,否则显示 $obj->setShowFlag(false); //会跳过所有All开头的文件 $obj->

  • js实现目录链接,内容跟着目录滚动显示的简单实例

    如下所示: <script> require(["jquery", "bootstrap"], function($) { $(function() { $('.left').height(($('body').height() > $(window).height()) ? $('body').height() : $(window).height()); }); var goTo = $(".con"); var guide

  • vmware 实现linux目录映射window本地目录图文详解

    ---恢复内容开始--- 背景: 1,使用lnmp环境 2,代码可以在windows上面写,直接映射到linux的lnmp环境下面 第一步: vmware 新建一个linux虚拟机 一路下一步到完成 第二步: 安装镜像(自己去下载一个linux的镜像) 然后确认 ,然后重新客户机 然后一路next(语言可以选中文) 直到这一步 给linux设置密码 然后一路next,确认所有修改 第三步: 进入linux系统配置网络 修改下图路径中的文档(onboot改成yes) 修改完保存 重启网络 第四步:

  • PHP删除指定目录中的所有目录及文件的方法

    本文实例讲述了PHP删除指定目录中的所有目录及文件的方法.分享给大家供大家参考.具体实现方法如下: <?php /* * * 删除指定目录中的所有目录及文件(或者指定文件) * 可扩展增加一些选项(如是否删除原目录等) * 删除文件敏感操作谨慎使用 * @param $dir 目录路径 * @param array $file_type指定文件类型 */ function delFile($dir,$file_type='') { if(is_dir($dir)){ $files = scand

  • linux 程序安装目录/opt目录和/usr/local目录的区别

    在linux安装软件的时候,我总会有这样的想法,软件到底安装到那个目录下.因为linux系统有别与Windows系统,不是在那个盘创建一个文件夹把你需要安装的程序安装到指定目录即可.linux目录类似一个树,最顶层是其根目录,每个目录有自己不同的作用. Linux 的软件安装目录是也是有讲究的,正确的选择安装目录对系统管理是有益的,这里讲解一下程序安装目录/opt目录和/usr/local目录的区别. 一.opt目录 /opt目录用来安装附加软件包,是用户级的程序目录,可以理解为D:/Softw

随机推荐