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 相关文章推荐
人大复印资料处理程序_补充篇
Oct 09 PHP
社区(php&amp;&amp;mysql)一
Oct 09 PHP
模仿OSO的论坛(二)
Oct 09 PHP
php笔记之常用文件操作
Oct 12 PHP
学习使用curl采集curl使用方法
Jan 11 PHP
深入file_get_contents函数抓取内容失败的原因分析
Jun 25 PHP
php使用base64加密解密图片示例分享
Jan 20 PHP
javascript some()函数用法详解
Nov 13 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
Aug 28 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
Mar 07 PHP
thinkPHP5.0框架URL访问方法详解
Mar 18 PHP
PHP实现的装箱算法示例
Jun 23 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
收音机的保养
2021/03/01 无线电
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
2012/02/04 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
Javascript &amp; DHTML 实例编程(教程)DOM基础和基本API
2007/06/02 Javascript
Jquery替换已存在于element上的event的方法
2010/03/09 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
理解javascript中的闭包
2017/01/11 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
JS获取input[file]的值并显示在页面的实现方法
2018/03/09 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
解决vue 引入子组件报错的问题
2018/09/06 Javascript
JavaScript中Array方法你该知道的正确打开方法
2018/09/11 Javascript
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
python生成随机mac地址的方法
2015/03/16 Python
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
详解Python当中的字符串和编码
2015/04/25 Python
使用Python解析JSON数据的基本方法
2015/10/15 Python
Python读取excel中的图片完美解决方法
2018/07/27 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
python 字典中取值的两种方法小结
2018/08/02 Python
详解python分布式进程
2018/10/08 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
2020/01/08 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
捷克玩具商店:Bambule
2019/02/23 全球购物
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
美术教师岗位职责
2014/03/18 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
社区植树节活动总结
2015/02/06 职场文书
合同审查法律意见书
2015/06/04 职场文书
一文了解MySQL二级索引的查询过程
2022/02/24 MySQL