- 论坛徽章:
- 0
|
PHP遍历文件目录与清除目录中的文件
今天无聊中练习了一下PHP遍历文件目录的程序,编写了以下两个程序,不过质量不是很好,轻拍~~~
1、清除PHP缓存文件
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、遍历目录中所有文件
Php代码
- <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(empty($_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>
复制代码 |
|