登录  /  注册
博主信息
博文 100
粉丝 8
评论 2
访问量 145701
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
php清理重复图片
lilove的博客
原创
1482人浏览过

用PHP去除重复图片文件_PHP教程

发布时间:2018-04-12 来源:网络 上传者:用户

关键字: 图片 工具

发表文章

摘要:因为整理图标,所以需要去除重复图片的功能.通过md5来判断是否重复.最开始,我用md5sum工具求md5,然后再用PHP读取结果去重.后来一想,为什么不完全用PHP来做呢?可以节省大量进程开销.简单几行代码,就实现了这个功能.文件数:80510,大小:452,496,873字节只查找不删除的速度:第一次耗时:122s第二次耗时:44s第三次耗时:44s在查找多次之后,立即查找并删除的速度:耗时:83秒,删除了54406个文件<?phpexec("find.-t

因为整理图标, 所以需要去除重复图片的功能. 通过md5来判断是否重复. 最开始, 我用md5sum工具求md5, 然后再用PHP读取结果去重. 后来一想, 为什么不完全用PHP来做呢? 可以节省大量进程开销. 简单几行代码, 就实现了这个功能.

文件数: 80510, 大小: 452,496,873 字节

只查找不删除的速度:
第一次耗时: 122s
第二次耗时: 44s
第三次耗时: 44s

在查找多次之后, 立即查找并删除的速度:
耗时: 83秒, 删除了54406个文件

<?php
exec("find . -type f", $lines);

$arr = array();
$del = array();

$n = 0;
foreach($lines as $line){
 $line = trim($line);
 if(!$line){
  continue;
 }
 $n ++;
 $md5 = md5_file($line);

 if(isset($arr[$md5])){
  $del[] = $line;
  //echo "$n del $line/n";
  unlink("{$line}");
 }else{
  $arr[$md5] = 1;
 }
}

echo "del " . count($del) . " files/n";
//echo join("/n", $del);

转载自社区

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学