时间:2021-07-01 10:21:17 帮助过:16人阅读
本文实例总结了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中文网!
相关推荐:
关于php_pdo 预处理语句的解析
关于PHP的链表操作
以上就是关于PHP的目录操作的详细内容,更多请关注Gxl网其它相关文章!