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

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

php编程 2024-12-24 22:35:03 6个月前

今天无聊中练习了一下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>

文章版权声明:除非注明,否则均为网络转载文章,转载或复制请以超链接形式并注明出处。

最新资讯

热门资讯