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 相关文章推荐
php单例模式实现(对象只被创建一次)
Dec 05 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
Aug 05 PHP
php 类自动载入的方法
Jun 03 PHP
php文件上传、下载和删除示例
Aug 28 PHP
浅谈php和js中json的编码和解码
Oct 24 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
Aug 10 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
Jun 09 PHP
PHP中常见的密码处理方式和建议总结
Oct 14 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
Mar 16 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 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数据库操作面向对象的优点
2006/10/09 PHP
php入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
2013/04/26 PHP
php权重计算方法代码分享
2014/01/09 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
PHP SOCKET编程详解
2015/05/22 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
判断用户是否在线的代码
2011/03/05 Javascript
Jquery显示、隐藏元素以及添加删除样式
2013/08/09 Javascript
javascript删除option选项的多种方法总结
2013/11/22 Javascript
javascript如何判断输入的url是否正确
2014/04/11 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
jQuery实现的网页竖向菜单效果代码
2015/08/26 Javascript
基于javascript实现图片左右切换效果
2016/01/25 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
对layui中表单元素的使用详解
2018/08/15 Javascript
微信小程序使用GoEasy实现websocket实时通讯
2020/05/19 Javascript
python 网络编程详解及简单实例
2017/04/25 Python
python 调用win32pai 操作cmd的方法
2017/05/28 Python
详解Python import方法引入模块的实例
2017/08/02 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
TensorFlow MNIST手写数据集的实现方法
2020/02/05 Python
如何在python中实现线性回归
2020/08/10 Python
python math模块的基本使用教程
2021/01/16 Python
Guess美国官网:美国知名服装品牌
2019/04/08 全球购物
建筑施工员岗位职责
2013/11/26 职场文书
企业文化口号
2014/06/12 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
教师党员先进性教育自我剖析材料思想汇报
2014/09/24 职场文书
个人对照检查材料思想汇报
2014/09/26 职场文书
药店收银员岗位职责
2015/04/07 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
opencv 分类白天与夜景视频的方法
2021/06/05 Python
Vscode中SSH插件如何远程连接Linux
2022/05/02 Servers