`

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

    博客分类:
  • 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>
 

 

 

分享到:
评论
1 楼 zeroneta 2011-09-24  
php完美无沉余代码遍历文件夹
http://zeroneta.iteye.com/blog/1173071

相关推荐

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

    PHP遍历文件目录和清除目录中文件的实现主要涉及到几个重要的PHP函数。首先是文件目录的遍历,这通常通过递归的方式实现,以处理嵌套目录的情况。其次是文件的清除,这涉及到文件的读取和删除操作。本篇文章将结合给...

    php遍历文件夹与文件类及处理类用法实例_.docx

    在安全方面,当遍历文件系统时,必须小心处理文件路径,防止路径遍历攻击。应确保用户不能通过输入路径访问到敏感目录。此外,处理文件内容时,特别是涉及文件读写操作,应考虑文件权限和可能的注入风险。在清除BOM...

    PHP遍历文件夹与文件类及处理类用法实例__2.docx

    在PHP编程中,遍历文件夹和文件是常见的任务,特别是在处理文件系统操作时。本文通过两个类,FindFile 和 UnsetBom,演示了如何实现这一功能,并着重关注文件的安全处理。 首先,`FindFile` 类是用来遍历指定目录...

    PHP遍历文件夹与文件类及处理类用法实例__1.docx

    在PHP编程中,遍历文件夹和文件是常见的任务,特别是在处理大量数据或者进行文件管理时。本实例中,我们有两个类:FindFile 和 UnsetBom,它们提供了对文件和文件夹的操作。 首先,`FindFile` 类用于遍历指定路径下...

    遍历指定目录,并存储目录内所有文件属性信息的php代码

    ### PHP遍历指定目录 在PHP中,遍历目录通常使用`DirectoryIterator`类或者`opendir()`、`readdir()`这样的低级函数。本文采用了低级函数的方式,通过`opendir()`函数开启目录流,并使用`readdir()`函数逐个读取...

    php遍历删除整个目录及文件的方法

    本篇将详细介绍如何使用PHP遍历并删除整个目录及其包含的所有内容。 首先,要删除一个目录及其内容,我们需要用到PHP内置的文件操作函数。PHP提供了多种用于目录操作的函数,如`opendir()`、`readdir()`、`closedir...

    PHP遍历文件夹与文件类及处理类用法实例

    在文件夹与文件类中,我们定义了一个`FindFile`类,该类的主要作用是遍历指定路径下的所有文件和子目录。类中定义了几个核心方法来实现这一功能: 1. `process`方法:接收一个文件夹路径和最大搜索深度作为参数,`$...

    php实现遍历文件夹的方法汇总

    这个`get_my_files`函数与`get_all_files`类似,但不同之处在于,当遇到子目录时,并不进行递归遍历,只将子目录的路径添加到结果数组中。 对于需要获取文件信息的场景,我们可以对基础遍历函数进行扩展,以获取...

    php中使用文件缓存类.zip

    在这些方法中,我们需要注意文件路径的安全性,避免路径遍历攻击,同时确保文件权限设置合理,防止非预期的修改。 在使用文件缓存类时,我们还需要考虑一些最佳实践: - **缓存策略**:根据数据的更新频率和访问...

    UTF-8 批量检测BOM工具/小软件 utf8 BOM批量检测/检查清除

    检测完成后,结果会在列表中显示出来,可以导出到txt文件。也可以导出到其他的目录。 我现在的方法是:输入网站的目录路径,勾选检测子目录。 然后在d盘新建一个空目录,然后将结果导出到这里(要勾选创建子目录,...

    PHP 删除一个目录及目录下的所有文件的函数代码

    2. `opendir($dir)`:这个函数用于打开一个目录句柄,以便通过`readdir()`遍历目录中的文件。如果成功,它返回一个句柄,否则返回`false`。 3. `readdir($handle)`:当`opendir()`成功打开一个目录后,`readdir()`...

    文件操作函数 之 图片计数器的实例

    7. **`scandir()`**:用于遍历目录,并返回一个包含目录下所有文件和子目录名称的数组。 - 示例代码: ```php $files = scandir('C:\WINDOWS'); print_r($files); ``` 8. **`fopen()`**:用于打开或创建文件。...

    清除某一目录下包括子目录下所有文本中特定标志的VB程序

    标题中的“清除某一目录下包括子目录下所有文本中特定标志的VB程序”是指通过编写VB(Visual Basic)脚本来实现对指定目录及其子目录下的文本文件进行批量处理,删除或替换特定的字符串,比如木马代码。这种操作在...

    php利用递归实现删除文件目录的方法

    递归的实现方式是:在函数中检查每一个条目,如果是文件就直接删除,如果是目录则调用自身函数来删除该目录,直至所有内容都被清除。 在PHP中,处理文件和目录常用到的函数有 `opendir()`, `readdir()`, `is_dir()`...

    web安全技术-实验六、文件上传漏洞.doc

    【文件上传漏洞】是Web应用安全领域中的一个重要概念,它主要出现在允许用户上传文件到服务器的应用程序中。当系统没有正确地验证或过滤上传的文件类型时,攻击者可以利用这个漏洞上传恶意代码,例如病毒、木马或者...

    [示例][PHP]网页病毒清除的php类.zip

    - 文件扫描:PHP类可能会通过遍历文件系统,检查每个文件的代码内容,查找可疑的病毒特征字符串或模式。 - 行为分析:检测文件是否执行了恶意操作,如修改其他文件、发送网络请求等。 - 特征库匹配:对比已知病毒...

    php删除一个路径下的所有文件夹和文件的方法

    在PHP中,有时候我们需要清理特定路径下的所有文件和文件夹,比如在Web应用程序中清除缓存或者临时数据。本文将详细介绍如何使用PHP实现这一功能,特别是对于ThinkPHP框架的用户,这种方法尤其有用。 首先,我们要...

    解决项目中html去除BOM问题

    为了清除HTML文件中的BOM,我们可以编写一个简单的PHP脚本来遍历指定目录下的所有文件,并检查每个文件是否存在BOM。如果存在,则移除之。具体实现方法如下: ```php &lt;?php // 获取当前脚本所在目录 $basedir = str...

Global site tag (gtag.js) - Google Analytics