千家信息网

如何使用php遍历指定目录,并存储目录内所有文件属性信息

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关如何使用php遍历指定目录,并存储目录内所有文件属性信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。项目需要,需要写一个函数,能够遍历指定目录中
千家信息网最后更新 2026年11月01日如何使用php遍历指定目录,并存储目录内所有文件属性信息

这篇文章给大家分享的是有关如何使用php遍历指定目录,并存储目录内所有文件属性信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

项目需要,需要写一个函数,能够遍历指定目录中的所有文件,而且这个目录中的子目录也要遍历。输出文件的属性信息,并存储。

想想需求,不就是一个ls -al命令吗,实现获取相关属性就好了,再加上一个遍历OK了事。

项目过程中,便于操作,使用了json格式存储,但是也发现了一些问题。谨此记录问题及代码,便于参考。

 $value) {      if($key !== 0 ){        $string .= "\t";      }      $string .= getFileAttr($file,$value);     }    $string .= "\n";    file_put_contents(INDEXTXT, $string, FILE_APPEND);  }  /*  *  *  Get index string from index file  *  @return   Array()  *    */  function getIndexFromFile($flag=''){    if (!file_exists(INDEXTXT)) {      return false;    }    $arr = file(INDEXTXT);    $format = explode(',', INDEXFORMAT);    $result = array();    if(!empty($flag)){      $key = array_search($flag, $format);      if ($key === false) {        return false;      }      foreach ($arr as $str) {        $tmp = explode("  ", trim($str));        $result[$flag][] = $tmp[$key];      }    }else{      foreach ($arr as $str) {        $tmp = explode("  ", trim($str));        foreach ($format as $key => $value) {          $result[$value][] = $tmp[$key];//经测试这个操作比较耗时,大概0.7s的样子,慎用!        }      }    }    return $result;  }  /*  *  get file attributes  *  @var   $file  *  @var   $flag  *  @return String  */  function getFileAttr($file,$flag){    if (!file_exists($file)) {      return false;    }    switch ($flag) {      case 'dir':        if(is_file($file))          return dirname($file);        return realpath($file);        break;      case 'name':        if(is_file($file))          return basename($file);        return '-';        break;      case 'size':        if(is_file($file))          return filesize($file);        return '-';        break;      case 'perms':        return substr(sprintf('%o', fileperms($file)), -4);;        break;      case 'ower':        return fileowner($file);        break;      case 'group':        return filegroup($file);        break;      case 'ctime':        return filectime($file);        break;      case 'mtime':        return filemtime($file);        break;      case 'atime':        return fileatime($file);        break;      case 'suffix':        if(is_file($file))          return substr($file, strrpos($file, '.')+1);        return '-';        break;      default:        return false;        break;    }  }    /*  *  get file size human readable  */  function getFileSizeFormat($file){    if(!is_file($file)){      return '-';    }    $flags = array('', 'K', 'M', 'G', 'T');    for ($i = 0; $size >= 1024 && $i < 4; $i++) $size /= 1024;    return round($size, 2).$flags[$i];  }

感谢各位的阅读!关于"如何使用php遍历指定目录,并存储目录内所有文件属性信息"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

目录 属性 文件 存储 信息 内容 更多 篇文章 问题 项目 参考 不错 实用 代码 函数 命令 子目 子目录 就是 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网与科技 互联网医疗科技 极限挑战互联网科技 腾讯科技 互联网女皇 电子科技大学互联网 融势互联网科技 互联网科技logo设计 互联网公司会议桌创意科技软装饰 济南和联互联网科技有限公司 成都玖崟互联网科技有限公司乐商圈怎么样 江苏南京365互联网科技 福州新华互联网科技学校 知乎 互联网科技创新服务 广州市恰铎互联网科技有限公司 互联网科技和信息 互联网科技的全部知识 区块链结合互联网科技 互联网科技年终奖 互联网安防科技感 南京一网一红互联网科技有限公司 安徽鑫晟辉互联网科技 汇久创客互联网科技 哈尔滨新华互联网科技 互联网校园科技培训 互联网科技项目计划书材料类 湖北码尼互联网科技有限公司电话 保险科技服务互联网营销体系 广东工业互联网大赛深圳学泰科技 互联网科技创业计划的风险分析 科技互联网企业在行动
0