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在WinXP下IIS和Apache2服务器上的安装实例
Oct 09 PHP
php目录遍历函数opendir用法实例
Nov 20 PHP
php判断linux下程序问题实例
Jul 09 PHP
php+jQuery+Ajax简单实现页面异步刷新
Aug 08 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
Sep 23 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
关于Laravel Route重定向的一个注意点
Jan 16 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
Aug 11 PHP
PHP+mysql实现的三级联动菜单功能示例
Feb 15 PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
Sep 02 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
Aug 24 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
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
html静态页面调用php文件的方法
2014/11/13 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
异步安全加载javascript文件的方法
2015/07/21 Javascript
jQuery实现hover合成事件的方法
2015/08/06 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
js module大战
2019/04/19 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
2020/03/12 Javascript
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
Python中的高级函数map/reduce使用实例
2015/04/13 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
2018/11/10 Python
python实现Excel文件转换为TXT文件
2019/04/28 Python
python调用摄像头拍摄数据集
2019/06/01 Python
python 三元运算符使用解析
2019/09/16 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
2020/01/09 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
python基于Kivy写一个图形桌面时钟程序
2021/01/28 Python
使用postMessage让 iframe自适应高度的方法示例
2019/10/08 HTML / CSS
英文版网络工程师求职信
2013/10/28 职场文书
会计大学生职业生涯规划书范文
2014/01/13 职场文书
地质灾害防治方案
2014/05/14 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
乡镇组织委员个人整改措施
2014/09/16 职场文书
婚前财产协议书范本
2014/10/19 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
工作表扬信范文
2015/01/17 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书
Python爬虫框架之Scrapy中Spider的用法
2021/06/28 Python