当前位置: 编程技术>php
本页文章导读:
▪php目录遍历与删除的代码一例 主要功能如下:
遍历该文件夹下的文件,目录子目录,读取当前文件下目录和文件,删除当前文件夹下的目录子目录以及文件。
说明:暂不支持中文目录。
<?php
header("Content-type:text/html;.........
▪php递归遍历目录的二个函数 借助php内置函数glob、is_dir、dir实现。
<?php
/**
* 函数1
* 递归遍历目录
* site www.
*/
function myscandir($pathname){
foreach( glob($pathname) as $filename ){
if(is_dir($filename)){
.........
▪php遍历目录下所有文件的函数 方法1,使用dir返回对象。
方法2,使用readdir()函数。
以下是完整代码:
<?php
/**
* 目录递归函数 dir返回对象
* site www.
*/
function tree($directory)
{
$mydir = dir($directory);
echo "<ul>\n";
.........
[1]php目录遍历与删除的代码一例
来源: 互联网 发布时间: 2013-12-24
主要功能如下:
遍历该文件夹下的文件,目录子目录,读取当前文件下目录和文件,删除当前文件夹下的目录子目录以及文件。
说明:暂不支持中文目录。
<?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;
}
/**by http://www.
* 删除目录下的文件以及子目录
* #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删除N分钟前创建的所有文件的小例子
PHP实例:批量删除文件夹及文件夹中的文件
php删除目录及所有文件的方法举例
php 目录遍历与删除的函数示例
php rmdir删除目录的三种方法
删除指定文件夹中所有文件的php代码
删除多级目录的php自定义函数
php删除目录与列出目录下所有文件的代码
php递归删除文件与目录的代码
php递归删除目录及多级子目录下所有文件的代码
php递归创建和删除文件夹的代码
php递归删除目录的例子
[2]php递归遍历目录的二个函数
来源: 互联网 发布时间: 2013-12-24
借助php内置函数glob、is_dir、dir实现。
<?php
/**
* 函数1
* 递归遍历目录
* site www.
*/
function myscandir($pathname){
foreach( glob($pathname) as $filename ){
if(is_dir($filename)){
myscandir($filename.'/*');
}else{
echo $filename.'<br/>';
}
}
}
myscandir('D:/wamp/www/exe1/*');
/**
* 函数2
* 使用dir()函数
*/
function myscandir($path){
$mydir=dir($path);
while($file=$mydir->read()){
$p=$path.'/'.$file;
if(($file!=".") AND ($file!="..")){
echo $p.'<br>';
}
if((is_dir($p)) AND ($file!=".") AND ($file!="..")){
myscandir($p);
}
}
}
myscandir(dirname(dirname(__FILE__)));
?>
[3]php遍历目录下所有文件的函数
来源: 互联网 发布时间: 2013-12-24
方法1,使用dir返回对象。
方法2,使用readdir()函数。
以下是完整代码:
<?php
/**
* 目录递归函数 dir返回对象
* site www.
*/
function tree($directory)
{
$mydir = dir($directory);
echo "<ul>\n";
while($file = $mydir->read())
{
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))
{
echo "<li><font color=\"#ff00cc\"><b>$file</b></font></li>\n";
tree("$directory/$file");
}
else
echo "<li>$file</li>\n";
}
echo "</ul>\n";
$mydir->close();
}
//开始运行
echo "<h2>目录为粉红色</h2><br>\n";
tree("./");
/**
* 方法2 用readdir()函数
*/
function listDir($dir)
{
if(is_dir($dir))
{
if ($dh = opendir($dir))
{
while (($file = readdir($dh)) !== false)
{
if((is_dir($dir."/".$file)) && $file!="." && $file!="..")
{
echo "<b><font color='red'>文件名:</font></b>",$file,"<br><hr>";
listDir($dir."/".$file."/");
}
else
{
if($file!="." && $file!="..")
{
echo $file."<br>";
}
}
}
closedir($dh);
}
}
}
//开始运行
listDir("./");
?>
附,遍历目录下所有文件的代码。
<?php
$num=0; //记录目录下的文件个数
$dirname='LAMP'; //要遍历的目录名字
$dir_handle=opendir($dirname);
echo '<table border="1" align="center" width="960px" cellspacing="0" cellpadding="0">';
echo '<caption><h2>目录'.$dirname.'下面的内容</h2></caption>';
echo '<tr align="left" bgcolor="#cccccc">';
echo '<th>文件名</th><th>文件大小</th><th>文件类型</th><th>修改时间</th></tr>';
while($file=readdir($dir_handle))
{
if($file!="."&&$file!="..")
{
$dirFile=$dirname."/".$file;
if($num++%2==0) //隔行换色
$bgcolor="#ffffff";
else
$bgcolor="#cccccc";
echo '<tr bgcolor='.$bgcolor.'>';
echo '<td>'.$file.'</td>';
echo '<td>'.filesize($dirFile).'</td>';
echo '<td>'.filetype($dirFile).'</td>';
echo '<td>'.date("Y/n/t",filemtime($dirFile)).'</td>';
echo '</tr>';
}
}
echo '</table>';
closedir($dir_handle);
echo '在<b>'.$dirname.'</b>目录下的子目录和文件共有<b>'.$num.'</b>个';
?>最新技术文章: