本文实例总结了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("&nbsp",$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("&nbsp",$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中文网!

点赞(1) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部