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("&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相关内容感兴趣的读者可查看本站专题:《PHP目录操作技巧汇总》、《php文件操作总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

以上是 PHP目录操作实例总结 的全部内容, 来源链接: utcz.com/z/329861.html

回到顶部