当前位置: 首页 > news >正文

上海的建设网站首页/哈尔滨网站制作软件

上海的建设网站首页,哈尔滨网站制作软件,合肥好的app开发公司,win7做网站服务器卡项目需要,需要写一个函数,能够遍历指定目录中的所有文件,而且这个目录中的子目录也要遍历。输出文件的属性信息,并存储。 想想需求,不就是一个ls -al命令吗,实现获取相关属性就好了,再加上一个遍…

 

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

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

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

<?phpdefine('INDEXFORMAT',"dir,name,size,perms,ower,group,ctime,mtime,atime,suffix") ;define('INDEXTXT', 'data/index.txt');define('INDEXJSON', 'data/index.json');date_default_timezone_set('Asia/Hong_Kong');if (file_exists(INDEXTXT)) {unlink(INDEXTXT);}$dir = './';getIndexFile($dir);/**    get index file*    @filename     INDEXTXT*    @dir         string**/function getIndexFile($dir,$whitelist=''){$string = '';$dir = trim($dir);$dir = realpath($dir);$dir = $dir."//";if(is_file($dir)){putIndexFile($dir);}else{putIndexFile($dir);$oDir = @opendir($dir);while($fileName = readdir($oDir)){if($fileName!='.' && $fileName!='..'){if(is_file($dir.$fileName)){putIndexFile($dir.$fileName);}elseif(is_dir($dir.$fileName)){getIndexFile($dir.$fileName);}}}}if (!file_exists(INDEXTXT)) {return false;}//$data = json_encode(getIndexFromFile());//file_put_contents(INDEXJSON,$data);return true;}/**    Get Index file*    @filename     file.index**/function putIndexFile($file){if (!file_exists($file)) {return false;}$format = explode(',', INDEXFORMAT);$string = "";foreach ($format as $key => $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];}

 

转载于:https://www.cnblogs.com/picaso/p/3461775.html

http://www.lbrq.cn/news/1436869.html

相关文章:

  • 怎么做网站代码/软文代写兼职
  • 网站怎么做关键词/百度营销后台
  • 做网站建设的工资高吗/竞价广告
  • 什么是网络营销直播/郑州seo服务公司
  • 网站建设的功能/推广合作
  • 重庆城乡建设局网站/高端网站建设哪个好
  • 在网站的主页制作时 填写关键字/网络营销策略概念
  • 做那个免费观看视频网站/广州seo运营
  • 农产品信息网站的建设/百度文库网页版
  • 巴西有做amazon网站吗/seo网络排名优化方法
  • 汉阳网站建设公司/活动营销推广方案
  • 如何实现网站建设服务/免费推广app平台有哪些
  • 霸州做阿里巴巴网站/宁波正规优化seo价格
  • 网站建设报价多少/平台推广是什么
  • 网站怎么做目录跳转/app推广接单发布平台
  • 在与客户谈网页广告时如何让客户相信网站流量/seo免费优化网站
  • 网站模板服务商/农产品营销策划方案
  • 做soho的网站/小红书怎么做关键词排名优化
  • 室内设计软件自己设计/廊坊seo建站
  • 做电商网站一般要多少钱/人员优化方案
  • 简洁网站布局/自己建网站要多少钱
  • 做网站简单吗/而的跟地seo排名点击软件
  • 深圳做积分商城网站设计/淮安网站seo
  • 电影vip网站建设步骤/网站优化策划书
  • 青岛网站建设公司哪家好/如何自己做网站
  • 网站icp备案要多久/艺术培训学校招生方案
  • 工信部网站原来是/靠谱的拉新平台
  • 巨野网站建设/成人短期电脑培训班学费
  • 做网站如何导入信用卡付款/网页设计与制作教程
  • 秦皇岛网站设计公司/网站制作软件免费下载
  • DataHub OPC Gateway:实现OPC UA与OPC DA无缝集成的高性能网关
  • 第3节 深度学习避坑指南:从过拟合到玄学优化
  • Transformer之多头注意力机制和位置编码(二)
  • 苹果正计划大举进军人工智能硬件领域
  • Jenkins一直无法启动,怎么办?
  • 机器学习项目从零到一:加州房价预测模型(PART 3)