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 set_time_limit(0) 设置程序执行时间的函数
May 26 PHP
php在服务器执行exec命令失败的解决方法
Mar 03 PHP
PHP中判断变量为空的几种方法小结
Nov 12 PHP
php树型类实例
Dec 05 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
Jun 20 PHP
PHP网站建设的流程与步骤分享
Sep 25 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
Jun 19 PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 PHP
php根据用户名和手机号查询是否存在手机号码
Feb 16 PHP
PHP实现的随机红包算法示例
Aug 14 PHP
PHP fprintf()函数用法讲解
Feb 16 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 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抓取https的内容的代码
2010/04/06 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
PHP实现的杨辉三角求解算法分析
2019/03/11 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
javacript使用break内层跳出外层循环分析
2015/01/12 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
js 提取某()特殊字符串长度的实例
2017/12/06 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
2018/09/17 Javascript
Vue监听事件实现计数点击依次增加的方法
2018/09/26 Javascript
微信小程序城市选择及搜索功能的方法
2019/03/22 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
2019/09/27 Javascript
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
使用python实现时间序列白噪声检验方式
2020/06/03 Python
canvas烟花特效锦集
2018/01/17 HTML / CSS
使用html5实现表格实现标题合并的实例代码
2019/05/13 HTML / CSS
The North Face北面德国官网:美国著名户外品牌
2018/12/12 全球购物
Scotch Porter官方网站:男士美容产品
2020/08/31 全球购物
中医药大学市场营销专业自荐信
2013/09/29 职场文书
住房抵押登记委托书
2014/09/27 职场文书
小学数学教学随笔
2015/08/14 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python