php 目录遍历、删除 函数的使用介绍_php教程-查字典教程网
php 目录遍历、删除 函数的使用介绍
php 目录遍历、删除 函数的使用介绍
发布时间:2016-12-29 来源:查字典编辑
摘要:小编今天没事写了目录想关的函数包括遍历该文件夹下的文件,目录子目录读取当前文件下目录和文件删除当前文件夹下的目录子目录以及文件以上三个函数目...

小编今天没事写了目录想关的函数

包括 遍历该文件夹下的文件,目录子目录 读取当前文件下目录和文件 删除当前文件夹下的目录子目录以及文件 以上三个函数目前还不支持中文文件 中文目录

复制代码 代码如下:

<?php

header("Content-type:text/html;charset=utf-8");

/**

* 读取当前目录下的文件和目录

*

* @param string $path 路径

* @return array 所有满足条件的文件

*/

function tlist($path){

$path = iconv('utf-8', 'gbk', $path);

if(!is_dir($path)){

throw new Exception($path."不是目录");

}

$arr = array('dir'=>array(),'file'=>array());

$hd = opendir($path);

while(($file = readdir($hd))!==false){

if($file=="."||$file=="..") {continue;}

if(is_dir($path."/".$file)){

$arr['dir'][] = iconv('gbk','utf-8',$file);

}else if(is_file($path."/".$file)){

$arr['file'][] = iconv('gbk','utf-8',$file);

}

}

closedir($hd);

echo "目录有:".implode("<br />",$arr['dir'])."<br />";

echo "文件有:".implode("<br />",$arr['file']);

}

/**

* 遍历当前目录下的文件和目录以及子文件夹中目录

*

* @param string $path 路径

* @return array 所有满足条件的文件

*/

function blist($path){

if(!is_dir(iconv("utf-8","gbk",$path))){

throw new Exception("文件夹".$path."不存在或者不是文件");

}

$arr = array();

$hd = opendir(iconv("utf-8","gbk",$path));

while(($file = readdir($hd))!==false){

if($file=="."||$file=="..") {continue;}

$newpath=iconv('utf-8', 'gbk', $path) .'/'.$file;

if(is_dir($newpath)){

$arr[] = blist($path."/".$file);

}else if(is_file($newpath)){

$arr[] = iconv('gbk','utf-8',$file);

}

}

closedir($hd);

return $arr;

}

/**

* 删除目录下的文件以及子目录

* #param string $path 路径

* #return string 删除成功返回true 失败返回false;

*/

function dirDel($path){

if(!is_dir($path)){

throw new Exception($path."输入的不是有效目录");

}

$hand = opendir($path);

while(($file = readdir($hand))!==false){

if($file=="."||$file=="..") continue;

if(is_dir($path."/".$file)){

dirDel($path."/".$file);

}else{

@unlink($path."/".$file);

}

}

closedir($hand);

@rmdir($path);

}

?>

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新php教程学习
    热门php教程学习
    编程开发子分类