PHP遍历文件目录与清除目录中的文件

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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值