如何使用php遍历指定目录,并存储目录内所有文件属性信息
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章给大家分享的是有关如何使用php遍历指定目录,并存储目录内所有文件属性信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。项目需要,需要写一个函数,能够遍历指定目录中
千家信息网最后更新 2025年01月18日如何使用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安全错误
数据库的锁怎样保障安全
服务器不都架在地下海底吗
重庆市数据库
我的世界如何测试服务器
plc组态软件开发
科技互联网行业投资研究
c 配置文件操作数据库
东南大学网络安全读研太难了
数据库 几种状态
计算机网络技术就业环境
市南区计算机软件开发哪家靠谱
软件开发年度考核指标的写法
全国网络安全大赛kk
网络安全工程大盗
成都哪里有培训软件开发
雅好网络技术服务部
软件开发绩效工资占比
JAVA对网络安全
宜兴创新计算机网络技术服务活动
专注网络安全年收入
是网络安全防护重中之重
爱游戏公会在九阴真经哪个服务器
云南电力时钟同步服务器
csgo参数调试服务器
网络安全员有前途吗
金山区无线网络技术展示
exchang服务器
校庆专刊化工学报入数据库吗
丹东软件开发公司
evias媒体管理服务器
软件开发流程及制作