php教程

超轻量级php框架startmvc

PHP目录操作实例总结

更新时间:2020-03-11 19:36:25 作者:startmvc
本文实例总结了PHP目录操作方法。分享给大家供大家参考,具体如下:目录操作新建目录:

本文实例总结了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
$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
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 目录操作