首页 >后端开发 >php教程 >关于PHP的目录操作

关于PHP的目录操作

不言
不言原创
2018-06-21 09:36:174049浏览

这篇文章主要介绍了PHP目录操作,结合实例形式总结分析了php针对目录的读取、遍历、关闭等常见操作的相关函数与使用技巧,需要的朋友可以参考下

本文实例总结了PHP目录操作方法。分享给大家供大家参考,具体如下:

目录操作

新建目录:mkdir(路径,权限,递归创建)

删除目录:rmdir()

移动(改名):rename()

获取目录内容

//打开目录

目录句柄 = opendir()

//读取目录

文件名 = readdir(目录句柄)

依次读取文件名,同时向下移动文件句柄指针,读取不到则返回false

//关闭目录

closedir()

递归读取目录内容:

<?php
showDir(&#39;../../file&#39;);
function showDir($path,$dep=0){
 $pos = opendir($path);
 while(false!==$file=readdir($pos)){
  if($file==&#39;.&#39;||$file==&#39;..&#39;) continue;
  echo str_repeat("&nbsp",$dep*4),$file.&#39;</br>&#39;;
  if(is_dir($path.&#39;/&#39;.$file)){
   $func = __FUNCTION__;
   $func($path.&#39;/&#39;.$file,$dep+1);
  }
 }
}

运行效果图如下:

 

<?php
$res = showDir(&#39;../../file&#39;);
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($res);
function showDir($path){
 $pos = opendir($path);
 $next = array();
 while(false!==$file=readdir($pos)){
  if($file==&#39;.&#39;||$file==&#39;..&#39;) continue;
  $fileinfo = array();
  $fileinfo[&#39;name&#39;] = $file;
  if(is_dir($path.&#39;/&#39;.$file)){
   $fileinfo[&#39;type&#39;] = &#39;dir&#39;;
   $func = __FUNCTION__;
   $fileinfo[&#39;next&#39;] = $func($path.&#39;/&#39;.$file);
  }else{
   $fileinfo[&#39;type&#39;] = &#39;file&#39;;
  }
  $next[] = $fileinfo;
 }
 closedir($pos);
 return $next;
}

运行效果图如下:

 

递归删除目录:

<?php
showDir(&#39;../../file/sim&#39;);
function showDir($path,$dep=0){
 $pos = opendir($path);
 while(false!==$file=readdir($pos)){
  if($file==&#39;.&#39;||$file==&#39;..&#39;) continue;
//  echo str_repeat("&nbsp",$dep*4),$file.&#39;</br>&#39;;
  if(is_dir($path.&#39;/&#39;.$file)){
   $func = __FUNCTION__;
   $func($path.&#39;/&#39;.$file,$dep+1);
  }else{
   unlink($path.&#39;/&#39;.$file);
  }
 }
 rmdir($path);
 closedir($pos);
}

目录文件编码问题:

展示时,将操作系统编码转换为响应数据编码

windows为gbk,项目 utf-8

iconv(&#39;gbk&#39;,utf-8&#39;,file);

代码地址存在中文:需要转换为系统编码

iconv(utf-8&#39;,&#39;gbk&#39;,file);

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

关于php_pdo 预处理语句的解析

关于PHP的链表操作

以上是关于PHP的目录操作的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn