PHP删除目录下包含某个字符串的全部文件
//获取全部的路径
function tree(&$arr_file, $directory, $dir_name='')
{
$mydir = dir($directory);
while($file = $mydir->read())
{
if((is_dir("$directory/$file")) AND ($file != ".") AND ($file != ".."))
{
tree($arr_file, "$directory/$file", "$dir_name/$file");
}
else if(($file != ".") AND ($file != ".."))
{
$arr_file[] = "./wiseway_pc$dir_name/$file";
}
}
$mydir->close();
}
$arr_file = array();
tree($arr_file, "./wiseway_pc");
//遍历路基读取文件
foreach($arr_file as $list){
$str = "/data/wwwroot/wiseway/data/tpl_cache/";//指定字符串
file_put_contents("./1.txt",$list.PHP_EOL, FILE_APPEND); //写入txt文件当做日志记录,发生错误时可以查看
//判断文件是否为图片
$mimetype = exif_imagetype($list);
if($mimetype != IMAGETYPE_GIF || $mimetype != IMAGETYPE_JPEG || $mimetype != IMAGETYPE_PNG || $mimetype != IMAGETYPE_BMP){
$content = file_get_contents($list); //获取文件内容
if(substr_count($content,$str)>0){//如果文件名包含该字符串
unlink($list); //删除文件
}
}
}
PHP删除目录下包含某个字符串的全部文件的更多相关文章
- Linux 查找当前目录下 包含特定字符串 的所有文件
使用 Linux 经常会遇到这种情况:只知道文件中包含某些特定的字符串,但是不知道具体的文件名.需要根据“特定的字符串”反向查找文件. 示例(路径文件如下): ./miracle/luna/a.txt ...
- python删除目录下七天前创建的文件
#coding=utf-8 import os import time import datetime def deleteOutdateFiles(path): """ ...
- linux下查找某个目录下包含某个字符串的文件
有时候要找一些字符串,但是又不知道在哪个文件,只记得一些字符串 那么如何在linux下寻找包含某段文字的文件呢? 强大的find命令可以帮你完成不可能的任务. 比如我只记得我的程序里包含唯一的字符串“ ...
- grep搜索子目录中包含某字符串的特定文件
grep -n "str" -r ./ 这是查找当前目录下以及下辖子目录下所有包含str字符串的文件,会列出文件名.以及该行的内容.以及行号 比如,我想搜源码目录src下,包含“n ...
- Linux查找文件夹下包含某字符的所有文件
Linux grep 命令用于查找文件里符合条件的字符串.grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示 ...
- linux 查看当前目录下包含某个字符串的文件
$ grep -rn '字符串' 很好用~
- 运维笔记--Linux查找指定目录下包含某字符串的文件
待整理: 参考:http://blog.sina.com.cn/s/blog_53d496960102xg5c.html 例: find /home/logstash/ -type f | xargs ...
- 【xargs使用】查询包含某字符串的所有文件
在initrd目录下,查找包含"Loading virtio.ko"的所有文件 cd initrd find . | xargs grep "Loading virtio ...
- Python扫描指定文件夹下(包含子文件夹)的文件
扫描指定文件夹下的文件.或者匹配指定后缀和前缀的函数. 假设要扫描指定文件夹下的文件,包含子文件夹,调用scan_files("/export/home/test/") 假设要扫描 ...
随机推荐
- mysql添加用户
增加新用户: 格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码" 例1.增加一个用户test1密码为abc,让他可以在任 ...
- 监控和安全运维 1.3 cacti增加客户端监控
二. 安装客户端(增加一个linux服务器) 1.在客户端上 安装snmp yum install -y net-snmp 2. 修改snmpd.conf vim /etc/snmp/snmpd.co ...
- Android Studio Build APK没有报错,但是Generate signed apk报错
有时候 ,我们在调试APK,直接Build是可以正常生成,没有报错,但是当我们将自己的签名文件加上去,就会报错.一般情况下,我们可以在build.gradle中的android{}里面添加一个东西 l ...
- dubbo错误排查之No provider available for the service
今天搞的一个dubbo服务,暴漏出来了,但是consumer端启动就报这个错,排查过程记录一下 一.启动zkCli 利用命令查看 ls / ls /dubbo 继续查看 ls /dubbo/com.w ...
- ssh整合(dao使用hibernateTemplate)
- oracle --(四)表空间(tablespace)
基本关系:数据库---表空间---数据段---分区---数据块 表空间(tablespace)表空间(tablespace)是包含物理数据文件的逻辑实体,存放数据库的所有可用数据,因此表空间的尺寸也是 ...
- ListView---复杂的listview显示
1 . 初始化数据 private void fillData() { ll_loading.setVisibility(View.VISIBLE); // 显示进度 new Thread() { p ...
- ROS Learning-030 (提高篇-008 A Mobile Base-06) 控制移动平台 --- (Python)odom导航的例子:移动一个方块路径
ROS 提高篇 之 A Mobile Base-06 - 控制移动平台 - (Python)再次使用odom导航的一个例子:移动一个方块路径 我使用的虚拟机软件:VMware Workstation ...
- etl 获取列数据类型
QueryInfo info = new QueryInfo(); info.CustomSQL = @" select column_name, data_type, data_preci ...
- 关于redis-windows环境下的一些配置:
如果报错: The Windows version of Redis allocates a memory mapped heap for sharing with the forked proces ...