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 相关文章推荐
PHP4和PHP5共存于一系统
Nov 17 PHP
PHP 防注入函数(格式化数据)
Aug 08 PHP
php中取得文件的后缀名?
Feb 20 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
Mar 06 PHP
PHP运行模式的深入理解
Jun 03 PHP
php接口和抽象类使用示例详解
Mar 02 PHP
PHP函数strip_tags的一个bug浅析
May 22 PHP
PHP实现bitmap位图排序与求交集的方法
Jul 28 PHP
php字符串操作针对负值的判断分析
Jul 28 PHP
php in_array() 检查数组中是否存在某个值详解
Nov 23 PHP
PHP与jquery实时显示网站在线人数实例详解
Dec 02 PHP
利用ajax+php实现商品价格计算
Mar 31 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
Wordpress php 分页代码
2009/10/21 PHP
PHP中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
js实现的类似于asp数据字典的数据类型代码实例
2014/09/03 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
2015/07/17 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
javascript特殊文本输入框网页特效
2016/09/13 Javascript
Bootstrap表单简单实现代码
2017/03/06 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
2017/04/13 Javascript
nodejs body-parser 解析post数据实例
2017/07/26 NodeJs
Node.js静态服务器的实现方法
2018/02/28 Javascript
微信小程序实现倒计时调用相机自动拍照功能
2018/06/10 Javascript
vue源码nextTick使用及原理解析
2019/08/13 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
2019/11/07 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
2020/12/04 Javascript
[02:38]DOTA2超级联赛专访Loda 认为IG世界最强
2013/05/27 DOTA
python实现异步回调机制代码分享
2014/01/10 Python
对于Python的Django框架部署的一些建议
2015/04/09 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
多个应用共存的Django配置方法
2018/05/30 Python
详解Django中类视图使用装饰器的方式
2018/08/12 Python
python快排算法详解
2019/03/04 Python
tensorflow 重置/清除计算图的实现
2020/01/19 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
2020/01/20 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
英国家喻户晓的折扣商场:TK Maxx
2017/05/26 全球购物
优秀团员个人的自我评价
2013/10/02 职场文书
大学考试作弊检讨书
2014/01/30 职场文书
趣味比赛活动方案
2014/02/15 职场文书
借款协议书
2014/09/16 职场文书
汤姆索亚历险记读书笔记
2015/06/29 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python
vite+vue3.0+ts+element-plus快速搭建项目的实现
2021/06/24 Vue.js
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL