当前位置:首页 > 日记 > 正文

PHP实现了目录的遍历,并在指定的文件中删除指定的内容。

PHP实现了目录的遍历,并在指定的文件中删除指定的内容。
现在,坐在安静的卧室里,寒假似乎已经结束了……今天是我寒假的最后一次学习,我一直在看一首歌。

过去我写了一个用C语言遍历目录和复制文件的程序,程序很长,很复杂。现在,PHP也可以用来遍历目录,而且代码要短得多。这个程序的目的是遍历目录,查找指定文件名的所有文件,并删除指定的字符串。

复制代码代码如下所示:

< PHP

/ /功能:删除指定目录(包括子目录)下的所有指定文件中指定的字符串

tmpfiledir美元美元_server { =document_root}。'tmp .txt;

函数del($ getstr)

{

isbak美元= true; / /如果原始文件备份,备份备份真实,虚假

全球tmpfiledir美元;

FR = fopen(tmpfiledir美元美元,R)或死亡('fail打开临时文件);

而($行= fgets($ FR))

{

如果(空($行))中断;

行=修剪($行);

$ OPP = fopen($行,R)或死亡(不开美元行);

$str = fread($ OPP,文件大小(合行))或死亡(无法读取$行);

$str = str_replace($ getstr,

Fclose($ OPP);

如果($ isbak){

复制($行,$行或或备份文件失败);

}

$ref = fopen(合排,W)或死亡(打开文件失败);

fwrite($ref,$str)或死亡(改写文件失败);

}

}
函数遍历($路径){

全球美元的名字,tmpfiledir美元;

current_dir美元= opendir($路径); / / opendir()返回一个目录句柄,失败返回假

如果($ current_dir = false)

返回false;

而(($文件= readdir($ current_dir))!= = false){ / / readdir(返回)在处理开放目录条目

sub_dir美元= $路径。directory_separator。$文件;构建子目录路径

如果(= = = = {文件| |'。文件..)

继续;

否则如果}(is_dir($ sub_dir)){ / /如果是递归目录

导线($ sub_dir);

否则,如果文档,进行比较

美元($ sub_dir)FileInfo =是;

如果($ FileInfo { 'basename} = $名)

{

$ fopen = fopen(tmpfiledir美元,);

fwrite($ fopen,sub_dir美元。r;

Fclose(合开);

}

}

}

返回true;

}
如果(isset($ _post {名字)(美元)时,_post {dir})时($ _post {STR)))))

{

$name$ _post { =名字};

导线($ _post {dir})或死亡(无法创建临时文件,检查该站点的根目录可写));

德尔($ _post {乙方));

成功;

unlink($ tmpfiledir);

}

其他的

{

输入相关信息;

}

>
输入目标文件夹:

输入目标文件名:

输入需要删除的字符串:

正如你所看到的,我写了两个函数。函数遍历写入临时文件中找到的指定文件路径。函数del删除这些文件中指定的字符串。事实上,我也觉得很多鸡肋,直接在遍历性的删除中可以,根本不必生成任何临时文件。

事实上,我开始用C语言编写的遍历,因为C语言是不是对文件操作的好,写在PHP删除的部分,所以只写一个删除功能开始,然后简单地遍历文件也写的PHP(似乎比C简单多了),所以就写了一一个函数遍历。你只要看看遍历,你能比我写的C代码遍历(我把源代码)看看有什么不同。

然而,这个版本不支持通配符,所以必须指定文件名的影响(为什么我写这个的原因)可以用来去除我们挂在服务器的木马。

相关文章

URL最大长度限制相关数据的验证

URL最大长度限制相关数据的验证

验证,数据,长度,电脑软件,URL,在支付宝界面的开发和调试中,突然发现支付宝的URL界面很长,远远大于之前对255个字符的印象: 的说法,URL不能大于255bytes确实存在,如用来: 复制代码代码如下所示: HTTP协议对URI的长度没有任何先验限制。服务器必…

画家画了一个真正的老虎教程

画家画了一个真正的老虎教程

教程,老虎,画了,画家,电脑软件,本教程是介绍画家画一个真正的老虎,渲染效果非常逼真,但课程有一定难度,作者对绘画过程进行了简要介绍,使学习者有一些艺术技巧,推荐,作为一个想法和朋友分享。 本教程是介绍画家画一个真正的老虎,渲染效果非常逼真…

魔兽世界更新之后出现计算机丢失ap

魔兽世界更新之后出现计算机丢失ap

魔兽世界更新之后出现计算机丢失api-ms-win-core-com-l1-1-0.dll或者其他api类文件如何解决?,系统,版本,下载,方法,文件,操作流程,位操作,工具,部分魔兽玩家在更新魔兽版本后会遇到以下的错误提示弹窗,这种情况一般是由于电脑中缺少部分文件导致的,解…

ps通道计算命令应用程序框图

ps通道计算命令应用程序框图

通道,计算,应用程序,命令,框图,以下萧边为您带来PS通道计算命令使用方法图。对于新手来说,很多人可能不熟悉计算命令。这里有一个详细的介绍给你。让我们一起学习。 计算是另一种图像混合操作,这是类似于应用图像命令,命令可以计算合成图像中…

右键点击空链接是防止殴打href#页

右键点击空链接是防止殴打href#页

链接,页码,右键点击,电脑软件,href,有时间做的事情只是使用环节,也不需要连接,只需要处理onclick事件,如果#容易导致点击页面,页面跳转,所以分享的三种方法,以方便需要的朋友 有时我们只需要使用链接,但不需要链接。我们只需要处理onclick事件,但…

烟花制作中国古典水墨人物签名

烟花制作中国古典水墨人物签名

水墨,中国古典,烟花,人物,电脑软件,本教程是向大家介绍利用烟花制作中国古典水墨风格的标志。制作方法很简单。本教程还提供资料,和朋友可以一起学习一起创作。 本教程是向大家介绍利用烟花制作中国古典水墨风格的标志。制作方法很简单。本…

该方法处理Ajax返回ThinkPHP

该方法处理Ajax返回ThinkPHP

方法,电脑软件,Ajax,ThinkPHP,本文的例子告诉ThinkPHP处理Ajax和股票供您参考大家的回报方式。具体实现的方法如下: 在ThinkPHP,你可以直接返回阿贾克斯: 复制代码如下:(handleurl美元。后,{用户名:username.val(),内容:content.val()},功能(数据){ } 这…

WordPress禁止文章修改和自动保存

WordPress禁止文章修改和自动保存

自动保存,修改,完美,文章,电脑软件,那么WordPress使用长一直很讨厌WordPress文章修改和自动保存功能,还使用了超级开关插件可以禁止修改WordPress文章自动保存功能,但你的博客插件已经足够,但通过修改WordPress程序主要实现修改和自动存储功能…

PHP格式的输出文件var_export功能

PHP格式的输出文件var_export功能

输出,文件,实例,功能,格式,本文阐述了PHP格式的输出文件的var_export函数的用法。分享给你供你参考。以下是如下: var_export:PHP 4 4.2.0 PHP > = 5。 var_export输出或返回变量的字符串表示。 描述:混合var_export(混合表达式返回bool {,}) …

在JSP页面中插入CSS样式的三种方法

在JSP页面中插入CSS样式的三种方法

方法,三种,样式,页面,电脑软件,1,外部风格 当样式需要应用到很多页,外部样式表将是一个理想的选择。在使用外部样式表的情况下,你可以通过改变一个文件改变整个网站的外观,每一页都链接到一个样式表使用标签。标签是对的(文件头): 2。内部样式 …

10优秀网络开发人员提高开发能力

10优秀网络开发人员提高开发能力

开发人员,能力,网络,优秀,电脑软件,开发不仅仅是写代码,这来自于对3ev网站的Dan Frost,在一篇文章中,介绍了一些在发展过程中,应注意的问题。 开发不仅仅是写代码这句话是从3ev网站Dan Frost。他在一篇文章中阐述了开发过程中的一些注意事项,原…

教你用CDR制作一个简单的日历。

教你用CDR制作一个简单的日历。

教你用,日历,简单,电脑软件,CDR,本教程介绍使用CDR CDR的学习者做一个简单的日历,教程是基本的,但非常有用的教程,主要介绍辅助线的设置、图层管理、编辑艺术文本,精准剪裁画面和交互功能,填充和混合工具,很适合初学者学习交朋友,推荐来一起学习。…