热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

和php统计文件大小(和php统计文件大小的命令)

本文目录一览:1、php怎样用自定义函数统计目录大小

本文目录一览:


  • 1、php怎样用自定义函数统计目录大小


  • 2、php如何检测某文件夹里的各个文件夹大小


  • 3、PHP怎么获取文件大小


  • 4、php 如何获取文件大小


  • 5、统计文件所占磁盘空间大小的php代码

php怎样用自定义函数统计目录大小

?php

//自定义一个函数dirSize(),统计传入参数的目录大小

function dirSize($directory){

$dir_size = 0; //用来累加各个文件大小

if($dir_handle = @opendir($directory)){ //打开目录,并判断是否能成功打开

while($filename = readdir($dir_handle)){ //循环遍历目录下的所有文件

if($filename != "." $filename != ".."){ //一定要排除两个特殊的目录

$subFile = $directory."/".$filename; //将目录下的子文件和当前目录相连

if(is_dir($subFile)) //如果为目录

$dir_size += dirSize($subFile); //递归地调用自身函数,求子目录的大小

if(is_file($subFile)) //如果是文件

$dir_size += filesize($subFile); //求出文件的大小并累加

}

}

closedir($dir_handle); //关闭文件资源

return $dir_size; //返回计算后的目录大小

}

}

$dir_size = dirSize("phpMyAdmin"); //调用该函数计算目录大小

echo round($dir_size/pow(1024,1),2)."KB"; //字节数转换为“KB”单位并输出

?希望能帮到你,我还在后盾人线下面授培训上课学习呢现在没时间,有不会的可以问我,加油吧✧*。٩(^㉨^*)و✧*。

php如何检测某文件夹里的各个文件夹大小

可以使用scandir()和filesize()函数实现:

$path=".";//.是当前目录,你可以换成自己的目录地址

foreach(scandir($path) as $v){

if(!is_dir($v)){//如果不是目录,就是文件了

$size=filesize($v);

echo "文件:".$v." 大小:".byte_format($size)."br";//单位是kb

}

}

//格式化函数

function byte_format($size, $dec=2){

    $a = array("B", "KB", "MB", "GB", "TB", "PB");

    $pos = 0;

    while ($size = 1024) {

         $size /= 1024;

           $pos++;

    }

    return round($size,$dec)." ".$a[$pos];

 }

PHP怎么获取文件大小

filesize

(PHP 4, PHP 5)

filesize — 取得文件大小

说明

int filesize ( string $filename )

返回文件大小的字节数,如果出错返回 FALSE 并生成一条 E_WARNING 级的错误。

Note: 因为 PHP 的整数类型是有符号的,并且大多数平台使用 32 位整数,filesize() 函数在碰到大于 2GB 的文件时可能会返回非预期的结果。对于 2GB 到 4GB 之间的文件通常可以使用 sprintf("%u", filesize($file)) 来克服此问题。

Note: 此函数的结果会被缓存。参见 clearstatcache() 以获得更多细节。

Tip

自 PHP 5.0.0 起, 此函数也用于某些 URL 包装器。请参见 Supported Protocols and Wrappers以获得支持 stat() 系列函数功能的包装器列表。

Example #1 filesize() 例子

?php

// 输出类似:somefile.txt: 1024 bytes

$filename = 'somefile.txt';

echo $filename . ': ' . filesize($filename) . ' bytes';

?

参见 file_exists()。

php 如何获取文件大小

本函数通过header头信息获取远程文件大小,代码如下:

?php

function getFileSize($url){

$url = parse_url($url);

if($fp = @fsockopen($url['host'],empty($url['port'])?80:$url['port'],$error)){

fputs($fp,"GET ".(empty($url['path'])?'/':$url['path'])." HTTP/1.1\r\n");

fputs($fp,"Host:$url[host]\r\n\r\n");

while(!feof($fp)){

$tmp = fgets($fp);

if(trim($tmp) == ''){

break;

}else if(preg_match('/Content-Length:(.*)/si',$tmp,$arr)){

return trim($arr[1]);

}

}

return null;

}else{

return null;

}

}

?

调用方法很简单,代码如下:

?php

echo getFileSize("/Article/UploadFiles/201001/20100104122349734.gif")

此函数获取远程文件大小的效果非常好,无论远程文件体积有多大,获取速度完全不受影响。

统计文件所占磁盘空间大小的php代码

?php

#循环遍历目录中所有的文件,并统计目录和文件的大小

$dirName="phpMyAdmin";

$dir=opendir($dirName);

#返回一个资源类型

while($fileName=readdir($dir)){

$file=$dirName."/".$fileName;

if($fileName!="."

$fileName!=".."){

if(is_dir($file)){

echo

"font

color='red'".$fileName."===".date("Y-m-d

H:i:s",filectime($file))."==".filetype($file)."==".toSize(dirSize($file))."/fontbr/";

}

else{

echo

"font

color='green'".$fileName."=====".date("Y-m-d

H:i:s",filectime($file))."====".filetype($file)."====".toSize(filesize($file))."/fontbr/";

}

}

}

closedir($dir);

#把文件或目录的大小转化为容易读的方式

function

toSize($size){

$dw;

#指定文件或目录统计的单位方式

if($sizepow(2,30)){

$dw="GB";

$size=round($size/pow(2,30),2);

}

else

if($sizepow(2,20)){

$dw="MB";

$size=round($size/pow(2,20),2);

}

else

if($sizepow(2,10)){

$dw="KB";

$size=round($size/pow(2,10),2);

}

else

{

$dw="bytes";

}

return

$size.$dw;

}

#利用递归的方式统计目录的大小

function

dirSize($dirName){

$dirsize=0;

$dir=opendir($dirName);

while($fileName=readdir($dir)){

$file=$dirName."/".$fileName;

if($fileName!="."

$fileName!=".."){

//一定要进行判断,否则会出现错误的

if(is_dir($file)){

$dirsize+=dirSize($file);

}

else{

$dirsize+=filesize($file);

}

}

}

closedir($dir);

return

$dirsize;

}

?


推荐阅读
  • 2018年9月21日,Destoon官方发布了安全更新,修复了一个由用户“索马里的海贼”报告的前端GETShell漏洞。该漏洞存在于20180827版本的某CMS中,攻击者可以通过构造特定的HTTP请求,利用该漏洞在服务器上执行任意代码,从而获得对系统的控制权。此次更新建议所有用户尽快升级至最新版本,以确保系统的安全性。 ... [详细]
  • 在Linux系统中,为了提高安全性,可以通过设置命令执行超时和用户超时注销来防止因用户长时间未操作而带来的安全隐患。具体而言,可以通过编辑 `/etc/profile` 文件,添加或修改相关参数,确保用户在指定时间内无操作后自动注销。此外,还可以利用 `timeout` 命令来限制特定命令的执行时间,进一步增强系统的稳定性和安全性。 ... [详细]
  • 本文介绍了一种利用PHP cURL库高效提取Sohu邮箱联系人列表的方法。通过设置错误报告级别、定义Cookie文件路径等关键步骤,确保了代码的稳定性和可靠性。经过实际测试,该方法在2012年3月24日被验证为有效,能够快速准确地获取联系人信息。此外,文章还提供了详细的代码示例和注意事项,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • PHP中处理回车换行符转换的有效方法与技巧
    PHP中处理回车换行符转换的有效方法与技巧 ... [详细]
  • 全面解析Java虚拟机:内存模型深度剖析 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • Python 实战:异步爬虫(协程技术)与分布式爬虫(多进程应用)深入解析
    本文将深入探讨 Python 异步爬虫和分布式爬虫的技术细节,重点介绍协程技术和多进程应用在爬虫开发中的实际应用。通过对比多进程和协程的工作原理,帮助读者理解两者在性能和资源利用上的差异,从而在实际项目中做出更合适的选择。文章还将结合具体案例,展示如何高效地实现异步和分布式爬虫,以提升数据抓取的效率和稳定性。 ... [详细]
  • 字节码开发笔记:深入解析与应用技巧 ... [详细]
  • 在过去,我曾使用过自建MySQL服务器中的MyISAM和InnoDB存储引擎(也曾尝试过Memory引擎)。今年初,我开始转向阿里云的关系型数据库服务,并深入研究了其高效的压缩存储引擎TokuDB。TokuDB在数据压缩和处理大规模数据集方面表现出色,显著提升了存储效率和查询性能。通过实际应用,我发现TokuDB不仅能够有效减少存储成本,还能显著提高数据处理速度,特别适用于高并发和大数据量的场景。 ... [详细]
  • 本文详细探讨了Java中Unicode编码的二进制转换方法及其具体实现。通过分析\u开头的字符串,解释了每组\uxxxx如何对应一个特定的Unicode字符,并提供了相关代码示例以加深理解。希望读者在实际开发中能有效应用这些知识。 ... [详细]
  • PHP 中将字符串作为数组值传递给接收数组的函数处理 ... [详细]
  • 如何在Spark数据排序过程中有效避免内存溢出(OOM)问题
    本文深入探讨了在使用Spark进行数据排序时如何有效预防内存溢出(OOM)问题。通过具体的代码示例,详细阐述了优化策略和技术手段,为读者在实际工作中遇到类似问题提供了宝贵的参考和指导。 ... [详细]
  • 本文深入解析了 Apache 配置文件 `httpd.conf` 和 `.htaccess` 的优化方法,探讨了如何通过合理配置提升服务器性能和安全性。文章详细介绍了这两个文件的关键参数及其作用,并提供了实际应用中的最佳实践,帮助读者更好地理解和运用 Apache 配置。 ... [详细]
  • Java 8 引入了 Stream API,这一新特性极大地增强了集合数据的处理能力。通过 Stream API,开发者可以更加高效、简洁地进行集合数据的遍历、过滤和转换操作。本文将详细解析 Stream API 的核心概念和常见用法,帮助读者更好地理解和应用这一强大的工具。 ... [详细]
  • MVVM架构~mvc,mvp,mvvm大话开篇
    返回目录百度百科的定义:MVP是从经典的模式MVC演变而来,它们的基本思想有相通的地方:ControllerPresenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模 ... [详细]
author-avatar
雯雯2046
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有