首页 > 编程 > PHP > 正文

使用PHP遍历文件目录与清除目录中文件的实现详

2020-03-22 19:10:46
字体:
来源:转载
供稿:网友
今天无聊中练习了一下PHP遍历文件目录的程序,编写了以下两个程序,不过质量不是很好,轻拍~~~
1、清除PHP缓存文件
复制代码 代码如下:
?php

function read_dir($dir,$file)
{
$a =strpos($file,".php");

if($a 0)
{
unlink($dir . $file);
echo "delete $dir$file br
return true;
}

if(strpos($file,".") === 0 || strpos($file,".") !== false ) return true;

if(strpos($file,".") === false || strpos($dir,"/") === false)
{
$dir = $dir . $file . "/";
if(!is_dir($dir)) return false;
$dh = opendir($dir);
while(($file = readdir($dh)) != false)
{
read_dir($dir,$file); //递归调用
}
}
}

function clear_caches()
{
$dir = "./temp/"; //要清除的PHP缓存文件目录

if(!is_dir($dir)) die("It is not a dir");
$dh = opendir($dir);

while(($file = readdir($dh) )!=false)
{
//var_dump($file);
read_dir($dir,$file);

}
}


?

2、遍历目录中所有文件
复制代码 代码如下:
html

head
meta http-enquiv="Content-Type" content="text/html;charset=gb2312"
title 查看目录 /title
/head

body
table width="600" align="center"
tr
th width="50%" 文件名 /th
th width="25%" 修改时间 /th
th width="25%" 文件大小(k) /th
/tr


?php

//$dir = "./admin/";
$dir = "c:/";
$up_dir = "上级目录";
$up_url = $dir;

if(isset($_REQUEST['act']) && $_REQUEST['act']=='list_dir')
{
if(emptyempty($_REQUEST['dir']))
{
$up_dir="目录为空!";
}
$dir = isset($_REQUEST['dir']) ? $_REQUEST['dir'] : $dir;

}
if(!is_dir($dir))
{
$up_dir="无效目录!";
}

?

tr
td colspan="3"
?php

if(strpos($up_dir,"上级目录")!==false)
{
//if($up_url=="") echo $up_dir;
if($dir != "./admin/")
{
$up_url = substr($dir,0,-1);
$k = strrpos($up_url,"/");
$up_url = substr($up_url,0,$k-strlen($up_url));
$up_url = $up_url ."/";
}
echo " a href=/"test.php?act=list_dir&dir=$up_url/" $up_dir /a
}
else
{
echo $up_dir;
die();
}
?
/td
/tr
?php
$up_dir = $dir;
$dh = opendir($dir);
while(($file=readdir($dh)) != false)
{
if($file != "." && $file != ".." && $file != ".svn" )
{
if(strpos($file,".") !==false)
{
$time = date("Y-m-d H:i:s", filectime($dir . $file));
$size = filesize($dir . $file)/1000;
echo " tr td $file /td td $time /td td $size /td /tr
}
else
{
$time = date("Y-m-d H:i:s.", filectime($dir . $file));
$size = filesize($dir . $file)/1000;
$dir = $dir . $file ."/";

echo " tr td a href =/"test.php?act=list_dir&dir=$dir/" $file /a /td td $time /td td $size /td /tr
$dir = $up_dir;

}
}
}

?


/table

?php die(); ?
/body


/html

PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表