今天无聊中练习了一下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>
分享到:
相关推荐
PHP遍历文件目录和清除目录中文件的实现主要涉及到几个重要的PHP函数。首先是文件目录的遍历,这通常通过递归的方式实现,以处理嵌套目录的情况。其次是文件的清除,这涉及到文件的读取和删除操作。本篇文章将结合给...
在安全方面,当遍历文件系统时,必须小心处理文件路径,防止路径遍历攻击。应确保用户不能通过输入路径访问到敏感目录。此外,处理文件内容时,特别是涉及文件读写操作,应考虑文件权限和可能的注入风险。在清除BOM...
在PHP编程中,遍历文件夹和文件是常见的任务,特别是在处理文件系统操作时。本文通过两个类,FindFile 和 UnsetBom,演示了如何实现这一功能,并着重关注文件的安全处理。 首先,`FindFile` 类是用来遍历指定目录...
在PHP编程中,遍历文件夹和文件是常见的任务,特别是在处理大量数据或者进行文件管理时。本实例中,我们有两个类:FindFile 和 UnsetBom,它们提供了对文件和文件夹的操作。 首先,`FindFile` 类用于遍历指定路径下...
### PHP遍历指定目录 在PHP中,遍历目录通常使用`DirectoryIterator`类或者`opendir()`、`readdir()`这样的低级函数。本文采用了低级函数的方式,通过`opendir()`函数开启目录流,并使用`readdir()`函数逐个读取...
本篇将详细介绍如何使用PHP遍历并删除整个目录及其包含的所有内容。 首先,要删除一个目录及其内容,我们需要用到PHP内置的文件操作函数。PHP提供了多种用于目录操作的函数,如`opendir()`、`readdir()`、`closedir...
在文件夹与文件类中,我们定义了一个`FindFile`类,该类的主要作用是遍历指定路径下的所有文件和子目录。类中定义了几个核心方法来实现这一功能: 1. `process`方法:接收一个文件夹路径和最大搜索深度作为参数,`$...
这个`get_my_files`函数与`get_all_files`类似,但不同之处在于,当遇到子目录时,并不进行递归遍历,只将子目录的路径添加到结果数组中。 对于需要获取文件信息的场景,我们可以对基础遍历函数进行扩展,以获取...
在这些方法中,我们需要注意文件路径的安全性,避免路径遍历攻击,同时确保文件权限设置合理,防止非预期的修改。 在使用文件缓存类时,我们还需要考虑一些最佳实践: - **缓存策略**:根据数据的更新频率和访问...
检测完成后,结果会在列表中显示出来,可以导出到txt文件。也可以导出到其他的目录。 我现在的方法是:输入网站的目录路径,勾选检测子目录。 然后在d盘新建一个空目录,然后将结果导出到这里(要勾选创建子目录,...
2. `opendir($dir)`:这个函数用于打开一个目录句柄,以便通过`readdir()`遍历目录中的文件。如果成功,它返回一个句柄,否则返回`false`。 3. `readdir($handle)`:当`opendir()`成功打开一个目录后,`readdir()`...
7. **`scandir()`**:用于遍历目录,并返回一个包含目录下所有文件和子目录名称的数组。 - 示例代码: ```php $files = scandir('C:\WINDOWS'); print_r($files); ``` 8. **`fopen()`**:用于打开或创建文件。...
标题中的“清除某一目录下包括子目录下所有文本中特定标志的VB程序”是指通过编写VB(Visual Basic)脚本来实现对指定目录及其子目录下的文本文件进行批量处理,删除或替换特定的字符串,比如木马代码。这种操作在...
递归的实现方式是:在函数中检查每一个条目,如果是文件就直接删除,如果是目录则调用自身函数来删除该目录,直至所有内容都被清除。 在PHP中,处理文件和目录常用到的函数有 `opendir()`, `readdir()`, `is_dir()`...
【文件上传漏洞】是Web应用安全领域中的一个重要概念,它主要出现在允许用户上传文件到服务器的应用程序中。当系统没有正确地验证或过滤上传的文件类型时,攻击者可以利用这个漏洞上传恶意代码,例如病毒、木马或者...
- 文件扫描:PHP类可能会通过遍历文件系统,检查每个文件的代码内容,查找可疑的病毒特征字符串或模式。 - 行为分析:检测文件是否执行了恶意操作,如修改其他文件、发送网络请求等。 - 特征库匹配:对比已知病毒...
在PHP中,有时候我们需要清理特定路径下的所有文件和文件夹,比如在Web应用程序中清除缓存或者临时数据。本文将详细介绍如何使用PHP实现这一功能,特别是对于ThinkPHP框架的用户,这种方法尤其有用。 首先,我们要...
为了清除HTML文件中的BOM,我们可以编写一个简单的PHP脚本来遍历指定目录下的所有文件,并检查每个文件是否存在BOM。如果存在,则移除之。具体实现方法如下: ```php <?php // 获取当前脚本所在目录 $basedir = str...