PHP遍历文件目录与清除目录中的文件
今天无聊中练习了一下PHP遍历文件目录的程序,编写了以下两个程序,不过质量不是很好,轻拍~~~
?
1、清除PHP缓存文件
?
?
<?phpfunction 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(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>?
?
?
1 楼 zeroneta 2011-09-24 php完美无沉余代码遍历文件夹