PHP目录操作实例总结


Posted in PHP onSeptember 27, 2016

本文实例总结了PHP目录操作方法。分享给大家供大家参考,具体如下:

目录操作

新建目录:mkdir(路径,权限,递归创建)

删除目录:rmdir()

移动(改名):rename()

获取目录内容

//打开目录

目录句柄 = opendir()

//读取目录

文件名 = readdir(目录句柄)

依次读取文件名,同时向下移动文件句柄指针,读取不到则返回false

//关闭目录

closedir()

递归读取目录内容:

<?php
showDir('../../file');
function showDir($path,$dep=0){
 $pos = opendir($path);
 while(false!==$file=readdir($pos)){
  if($file=='.'||$file=='..') continue;
  echo str_repeat(" ",$dep*4),$file.'</br>';
  if(is_dir($path.'/'.$file)){
   $func = __FUNCTION__;
   $func($path.'/'.$file,$dep+1);
  }
 }
}

运行效果图如下:

 PHP目录操作实例总结

<?php
$res = showDir('../../file');
echo '<pre>';
print_r($res);
function showDir($path){
 $pos = opendir($path);
 $next = array();
 while(false!==$file=readdir($pos)){
  if($file=='.'||$file=='..') continue;
  $fileinfo = array();
  $fileinfo['name'] = $file;
  if(is_dir($path.'/'.$file)){
   $fileinfo['type'] = 'dir';
   $func = __FUNCTION__;
   $fileinfo['next'] = $func($path.'/'.$file);
  }else{
   $fileinfo['type'] = 'file';
  }
  $next[] = $fileinfo;
 }
 closedir($pos);
 return $next;
}

运行效果图如下:

 PHP目录操作实例总结

递归删除目录:

<?php
showDir('../../file/sim');
function showDir($path,$dep=0){
 $pos = opendir($path);
 while(false!==$file=readdir($pos)){
  if($file=='.'||$file=='..') continue;
//  echo str_repeat(" ",$dep*4),$file.'</br>';
  if(is_dir($path.'/'.$file)){
   $func = __FUNCTION__;
   $func($path.'/'.$file,$dep+1);
  }else{
   unlink($path.'/'.$file);
  }
 }
 rmdir($path);
 closedir($pos);
}

目录文件编码问题:

展示时,将操作系统编码转换为响应数据编码

windows为gbk,项目 utf-8

iconv('gbk',utf-8',file);

代码地址存在中文:需要转换为系统编码

iconv(utf-8','gbk',file);

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHPnow安装服务[apache_pn]失败的问题的解决方法
Sep 10 PHP
hessian 在PHP中的使用介绍
Dec 13 PHP
提高php编程效率技巧
Aug 13 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
Dec 29 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
Jan 07 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
Sep 11 PHP
PHP Header失效的原因分析及解决方法
Nov 16 PHP
php微信公众号开发之校园图书馆
Oct 20 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
Jul 15 PHP
tp5框架的增删改查操作示例
Oct 31 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
Jan 23 PHP
PHP大文件及断点续传下载实现代码
Aug 18 PHP
PHP文件操作实例总结
Sep 27 #PHP
PHP命名空间namespace用法实例分析
Sep 27 #PHP
PHP7标量类型declare用法实例分析
Sep 26 #PHP
PHP7新增运算符用法实例分析
Sep 26 #PHP
PHP7匿名类用法分析
Sep 26 #PHP
PHP7常量数组用法分析
Sep 26 #PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
Sep 26 #PHP
You might like
PHP实现用户认证及管理完全源码
2007/03/11 PHP
PHP 分页类(模仿google)-面试题目解答
2009/09/13 PHP
浅谈thinkphp5 instance 的简单实现
2017/07/30 PHP
JS 建立对象的方法
2007/04/21 Javascript
一个用javascript写的select支持上下键、首字母筛选以及回车取值的功能
2009/09/09 Javascript
JavaScript几种形式的树结构菜单
2010/05/10 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
jQuery实现的经典滑动门效果
2015/09/22 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
在js中做数字字符串补0(js补零)
2017/03/25 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
JavaScript 保护变量不被随意修改的实现代码
2017/09/27 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
2018/09/27 Javascript
详解Webstorm 下的Angular2.0开发之路(图文)
2018/12/06 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python中static相关知识小结
2018/01/02 Python
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
2019/03/14 Python
Python和Anaconda和Pycharm安装教程图文详解
2020/02/04 Python
Django 自定义404 500等错误页面的实现
2020/03/08 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
澳大利亚玩具剧场:Toy Playhouse
2019/03/03 全球购物
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
俄罗斯电动工具和设备购物网站:Vseinstrumenti.ru
2020/11/12 全球购物
英国时尚首饰品牌:Missoma
2020/06/29 全球购物
《画》教学反思
2014/04/14 职场文书
给校长的建议书600字
2014/05/15 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
2015年试用期工作总结
2014/12/12 职场文书
简历自我评价优缺点
2015/03/11 职场文书
pytest进阶教程之fixture函数详解
2021/03/29 Python