如何使用php遍历指定目录,并存储目录内所有文件属性信息
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章给大家分享的是有关如何使用php遍历指定目录,并存储目录内所有文件属性信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。项目需要,需要写一个函数,能够遍历指定目录中
千家信息网最后更新 2025年11月08日如何使用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安全错误
数据库的锁怎样保障安全
央企网络安全大赛预选赛
安徽网络安全应急
测试服务器网速命令
奥拉星怎样找回之前的服务器
智能语音服务器定制价格
上海宏奕源软件开发有限公司
农村道路在数据库哪个图层
from 写数据库
服务器主板长音报警
阿里巴巴的网络安全大神
书本贴图软件开发
宁职院网络技术工资
高校网络安全主体责任
邢台市做软件开发的公司
计算机网络技术的专业分析
北京沃顿在线网络安全
沃高网络技术北京有限公司
软件开发增值税零税率
软件开发方向的选题
高薪的工作软件开发
云浮软件开发公司网站建设
湖南猫咪网络技术有限公司
网络技术的交互性
华为软件开发笔试题
广州软件开发学校排名
自动化设备的编程软件开发
上海至寻网络技术招工
南京软通网络技术有限公司
数据库如何连接项目
大师杀毒网络安全