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 相关文章推荐
windows下开发并编译PHP扩展的方法
Mar 18 PHP
适用于php-5.2 的 php.ini 中文版[金步国翻译]
Apr 17 PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
Jul 12 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
Dec 25 PHP
PHP中几种常见的超时处理全面总结
Sep 11 PHP
php数组删除元素示例
Mar 21 PHP
destoon找回管理员密码的方法
Jun 21 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
Jul 01 PHP
ThinkPHP之用户注册登录留言完整实例
Jul 22 PHP
php字符串替换函数substr_replace()用法实例
Mar 17 PHP
实例讲解yii2.0在php命令行中运行的步骤
Dec 01 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
Mar 09 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
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
提示Trying to clone an uncloneable object of class Imagic的解决
2011/10/27 PHP
php实现监控varnish缓存服务器的状态
2014/12/30 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
2017/04/15 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
jquery插件validate验证的小例子
2013/05/08 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
B/S模式项目中常用的javascript汇总
2013/12/17 Javascript
js清理Word格式示例代码
2014/02/13 Javascript
自己使用jquery写的一个无缝滚动的插件
2014/04/30 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
浅谈javascript中关于日期和时间的基础知识
2016/07/13 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
PHP7新特性简述
2017/06/11 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
解决vue项目中type=”file“ change事件只执行一次的问题
2018/05/16 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
详解NodeJs项目 CentOs linux服务器线上部署
2019/09/16 NodeJs
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
编写Python的web框架中的Model的教程
2015/04/29 Python
PyCharm设置SSH远程调试的方法
2018/07/17 Python
python三引号输出方法
2019/02/27 Python
python自动化测试之如何解析excel文件
2019/06/27 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
2020/02/17 Python
Python中生成ndarray实例讲解
2021/02/22 Python
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
火山动力Java笔试题
2014/06/26 面试题
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
小学元宵节活动总结
2015/02/06 职场文书
早上好问候语大全
2015/11/10 职场文书
python scrapy简单模拟登录的代码分析
2021/07/21 Python