当前位置: 首页 > 编程笔记 >

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

凤晨朗
2023-03-14
本文向大家介绍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>"; 
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"; 

?> 
 类似资料:
  • X1.4.0新增 sp_scan_dir($pattern,$flags) 功能: 替代scan_dir的方法 参数: $pattern:检索模式 搜索模式 .txt,.doc; (同glog方法) $flags:返回模式 同glog方法 返回: 类型数组 使用方法: //扫描application目录 $files=sp_scan_dir('application/*');//返回applic

  • 我需要在网络驱动器上遍历一个目录,并在层次结构中创建子级到父级的映射。一个代表目录是6个Terrabytes,有90万个文件和900个文件夹。我只关心文件夹而不是文件。出于测试目的,我将没有文件的文件夹复制到另一个网络驱动器,并在复制的版本上运行代码。仅仅是在900个文件夹上迭代可能需要10秒。但是,迭代原始目录结构需要30分钟。我们似乎正在遍历所有90万个文件,尽管我们只是忽略它们。 有没有一种

  • 通过Entry的createReader方法可以创建DirectoryReader对象,而DirectoryReader对象的readEntries方法又可以读取出当前目录下的一级子目录和文件,依次类推就可以遍历整个目录。 下面我们来实践写一个遍历目录的函数。 首先通过chooseEntry方法获取Entry: chrome.fileSystem.chooseEntry({type: 'openD

  • 本文向大家介绍PHP统计目录中文件以及目录中目录大小的方法,包括了PHP统计目录中文件以及目录中目录大小的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP统计目录中文件以及目录中目录大小的方法。分享给大家供大家参考,具体如下: 更多关于PHP文件与目录操作相关内容感兴趣的读者可查看本站专题:《php文件操作总结》与《PHP目录操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮

  • 问题内容: 我需要创建一个遍历子目录中所有文件的循环。您能帮我构造我的代码吗? 问题答案: 将RecursiveDirectoryIterator与RecursiveIteratorIterator结合使用。

  • 我正在创建一个允许调整gif大小的小类。为此,我创建了一个包含所有帧的临时目录,调整它们的大小,然后再次创建gif。 创建gif后,我想删除我的临时目录。但一旦我的所有文件都被删除,我就会出现以下错误: 警告:目录不为空 这是我的密码: 这是我得到的: 正如您所看到的,没有隐藏文件,因为scandir没有返回任何文件<如你所见,我尝试了这个解决方案,但没有成功 我可以手动删除它,一旦代码完成,里面