上海龙凤419

php说话

PHP若何自界说一个函数

时候:2024-09-19 04:53:22 php说话 我要投稿
  • 相干保举

PHP若何自界说一个函数

  计较文件、磁盘分区和目次的巨细在各类操纵法式中都是罕见的使命。计较文件的巨细能够经由过程后面先容过的filesize()函数实现,统计磁盘巨细也能够操纵disk_free_space()和disk_total_space()两个函数实现。但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”单元并输入

  ?>

  也能够操纵exec()或system()函数挪用操纵体系号令“du”来前往目次的巨细。但出于宁静缘由,这些函数凡是是禁用的,并且倒霉于跨平台操纵。</p

【PHP若何自界说一个函数】相干文章:

php自界说扩大名获得函数示例03-20

用php自界说函数之递归删除文件及目次11-17

PHP名目开辟中最常用的自界说函数清算03-17

操纵PHP自界说多进制03-02

PHP函数常识总结11-28

PHP数组函数常识11-29

PHP类与机关函数12-11

PHP函数的区分及用法11-28

php择要天生函数详解03-02