`
javayestome
  • 浏览: 1040614 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

[28期] 编写一个自定义函数解决统计文件或目录大小并转换存储单位。

 
阅读更多

  一般情况下在编写统计出文件的大小的函数后,由于递归的原因需要再编写一个单位转换的函数,使统计出的大小能以更好的方式显出来,但是这就将用两个函数来实现统计目录或文件大小并提高大小信息的可读性,现在可以用在函数内定义函数的方法来一个函数来解决这两个问题,并且灵活运用的三元运算符的嵌套来进行存储单位的转换。
  注意:三元运算符的嵌套方式,在三元运算符中嵌套三元运算符的表达式需要用括号括起来,否则出错。

<?php

  1. function countsize($name){
  2. function countdirsize($dirname){
  3. $dirsize=0;
  4. $opendir=opendir($dirname);
  5. while($filedir=readdir($opendir)){
  6. if($filedir!='.' && $filedir!='..'){
  7. $filedir=$dirname.directory_separator.$filedir;
  8. if(is_dir($filedir))
  9. $dirsize+=countdirsize($filedir);
  10. else
  11. $dirsize+=filesize($filedir);
  12. }
  13. }
  14. closedir($opendir);
  15. return $dirsize;
  16. }
  17. function convertunits($size){
  18. return $size < pow(2, 10) ? $size.'bytes' : ( $size < pow(2,20) ? round($size/pow(2,10),2).'kb' : ($size < pow(2, 30)? round($size/pow(2, 20),2).'mb' : ($size < pow(2, 40) ? round($size/pow(2,30),2).'gb' : round($size/pow(2, 40),2).'tb' ) ) );
  19. }
  20. if(is_dir($name)){
  21. return convertunits(countdirsize($name));
  22. }else{
  23. return convertunits(filesize($name));
  24. }
  25. }
  26. $name='phpmyadmin'.directory_separator.'pmd'.directory_separator.'scripts';
  27. echo countsize($name);
分享到:
评论

相关推荐

    sql自定义函数 sql自定义函数

    SQL(Structured Query Language)自定义函数是数据库管理系统中一个强大的特性,它允许用户根据特定需求创建自己的函数,以便在查询和处理数据时使用。自定义函数可以极大地提高SQL语句的灵活性和可重用性,使得...

    Vba自定义函数大全

    综上所述,"Vba自定义函数大全"文档是一个宝贵的资源,它将帮助用户深入了解并掌握VBA自定义函数的创建和应用,从而提升在Excel中的编程能力和效率。通过学习和实践,你可以根据实际工作需求定制出更高效、更个性化...

    hive的自定义函数

    在大数据处理领域,Apache Hive 是一个广泛使用的数据仓库工具,它提供了一种SQL-like查询语言——HiveQL,使用户能够轻松地对存储在Hadoop文件系统中的大规模数据集进行数据汇总、特殊查询和其他统计分析。...

    Excel VBA_自定义函数集.doc

    在Excel VBA中,自定义函数是通过编程的方式扩展Excel内置功能的一种方法,可以实现一些特定的计算或逻辑处理。以下三个自定义函数分别用于不同的功能: 1. 求得指定年月第几个星期几的日期: `Function xqrq...

    Spark不能使用hive自定义函数.doc

    然而,在实际应用中,开发人员可能会遇到一个常见问题——Spark 无法直接使用 Hive 中定义的自定义函数(UDF)。本文将深入探讨这一问题,并提供解决方案。 #### 一、问题背景 当开发者尝试在 Spark 应用程序中...

    sql server 自定义函数

    在SQL Server中,自定义函数(User-Defined Functions, UDFs)是数据库开发者和管理员扩展数据库功能的重要工具。它们允许我们创建自己的函数,以处理特定的数据操作或业务逻辑,这些函数可以像内置函数一样在SQL...

    hive自定义函数demo

    “hive自定义函数demo”提供的例子展示了如何在实际场景中增强Hive的功能,通过编写自定义函数来解决特定业务问题。了解和掌握Hive UDF的开发和使用对于大数据分析人员来说是非常有价值的技能,它可以帮助你更好地...

    sql2000的自定义函数,传入汉字返回汉字拼音

    在SQL Server 2000中,通过自定义函数可以实现很多复杂的功能,本文将详细介绍一个用于将输入的汉字转换为对应拼音的自定义函数。该函数名为`f_GetPy`,其核心功能是接收一个包含汉字的字符串作为参数,并返回这些...

    自定义函数实例

    以下是一个具体示例,展示了如何创建一个名为`CONVERTYMD`的自定义函数,用于日期格式转换: ```sql -- 设置当前模式为DB2INFO SET SCHEMA DB2INFO; -- 设置当前路径 SET CURRENT PATH = "SYSIBM", "SYSFUN", ...

    自定义hive函数

    在大数据处理领域,Hive 是一个非常重要的工具,它提供了SQL-like接口来处理存储在分布式存储系统(如HDFS)中的大规模数据集。Hive 的灵活性之一在于支持用户自定义函数(UDF),包括用户定义的单行函数(UDF)、...

    Excel-VBA宏编程实例源代码-自定义函数-汇率转换.zip

    本压缩包“Excel-VBA宏编程实例源代码-自定义函数-汇率转换.zip”提供了一个具体的VBA应用示例,即自定义函数用于货币汇率转换。 一、VBA基础知识 1. VBA是Microsoft Office套件中的内置编程语言,允许用户编写脚本...

    自己动手写C语言float浮点数转换字符串的函数

    本篇文章将深入探讨如何自己动手编写一个C语言函数,实现`float`类型的浮点数转换为字符串的功能。首先,我们需要理解浮点数在计算机中的表示方式,以及C语言中的相关标准库函数。 浮点数在计算机中通常使用IEEE ...

    自定义函数完成单据流水号的设计

    在SQL Server中,我们可以创建一个自定义函数,如`GetNextInvoiceNumber()`,该函数根据预定义的规则生成流水号。这个函数可能需要考虑以下几点: - 使用`@prefix`参数来设定流水号的前缀,例如"INV-"代表发票。 - ...

    关于WinCC自定义返回数组函数书写规则正确写法.rar

    本教程将详细阐述如何在C++中创建一个模糊控制DLL,并在WinCC中正确调用该DLL,特别是涉及自定义返回数组函数的书写规则。 首先,我们需要了解DLL的基本概念。DLL是一种共享库,它可以包含执行代码和资源,多个程序...

    Sqlserver 2014 之 自定义字符串聚合函数

    下面是一个可能的`STRING_AGG`自定义函数的C#实现概述: ```csharp using System; using System.Collections.Generic; using Microsoft.SqlServer.Server; [Serializable] [SqlUserDefinedAggregate( Format.User...

    c# 表达式计算器 源码 可编制任何自定义函数

    在C#编程中,开发一个表达式计算器是一个常见的任务,特别是在需要进行动态计算或提供用户自定义公式的环境中。这个“c# 表达式计算器 源码 可编制任何自定义函数”项目,正是为了解决这类需求。下面我们将深入探讨...

    数据库应用基础用户自定义函数PPT学习教案.pptx

    用户自定义函数(UDF)是一组预先编译的Transact-SQL语句,可以接受零个、一个或多个参数,并返回一个单一值或结果集。 1. **存储过程**:存储过程是一种预编译的SQL语句集合,可以在数据库中存储并多次调用。系统...

    自编自用的一个支持三种转换形式的金额转换大写函数access2000

    标题中的“自编自用的一个支持三种转换形式的金额转换大写函数access2000”指的是一个在Access 2000环境下开发的自定义函数,它具有将数字金额转换为大写汉字的能力,这在财务软件或者需要打印正式单据的应用中非常...

    C++ 十进制数与八进制数之间的灵活转换(自定义函数)

    要实现十进制到八进制的转换,我们可以使用自定义函数`decToOct`。这个函数的基本思想是通过不断地除以8并取余数,直到商为0。每次取余数得到的就是八进制数的各位数字,从低位到高位。以下是一个简单的实现: ```...

    数据库应用基础用户自定义函数PPT课件.pptx

    【数据库应用基础】中的【用户自定义函数】是数据库管理系统中的一个重要概念,它允许用户根据自己的需求创建定制化的函数,以执行特定的操作或提供特定的计算。这些函数可以被多次调用,提高了代码的复用性和效率。...

Global site tag (gtag.js) - Google Analytics