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正则校验用户名介绍
Jul 19 PHP
深入PHP内存相关的功能特性详解
Jun 08 PHP
使用php清除bom示例
Mar 03 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
Sep 28 PHP
php静态文件返回304技巧分享
Jan 06 PHP
PHP中的事务使用实例
May 26 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
Apr 07 PHP
php使用preg_match()函数验证ip地址的方法
Jan 07 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
Oct 23 PHP
php生成word并下载代码实例
Mar 15 PHP
php实现推荐功能的简单实例
Sep 29 PHP
laravel 实现上传图片到本地和前台访问示例
Oct 21 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 和 XML: 使用expat函数(一)
2006/10/09 PHP
php 如何获取数组第一个值
2013/08/06 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
2015/02/10 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
深入讲解PHP Session及如何保持其不过期的方法
2015/08/18 PHP
PHP学习记录之数组函数
2018/06/01 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
javascript新手语法小结
2008/06/15 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
jquery.cookie() 方法的使用(读取、写入、删除)
2013/12/05 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
2016/06/02 Javascript
JS中数据结构之栈
2019/01/01 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
Python操作CouchDB数据库简单示例
2015/03/10 Python
深入浅析Python字符编码
2015/11/12 Python
python基于itchat实现微信群消息同步机器人
2017/02/27 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
2018/04/02 Python
python实现类之间的方法互相调用
2018/04/29 Python
TensorFlow实现简单卷积神经网络
2018/05/24 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
pandas对dataFrame中某一个列的数据进行处理的方法
2019/07/08 Python
python实现字典嵌套列表取值
2019/12/16 Python
py-charm延长试用期限实例
2019/12/22 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
python爬虫多次请求超时的几种重试方法(6种)
2020/12/01 Python
培训自我鉴定
2014/01/31 职场文书
十佳家长事迹材料
2014/08/26 职场文书
幼儿园2015年度工作总结
2015/04/01 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python
Mysql 一主多从的部署
2022/05/20 MySQL