这里有新鲜出炉的PHP教程,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于web开发领域。PHP的文件后缀名为php。
这篇文章主要介绍了PHP目录操作,结合实例形式总结分析了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程序设计有所帮助。
来源: http://www.phperz.com/article/17/0831/342443.html