PHP去除重复图片文件的代码
本节内容:
PHP去除重复图片文件
实现思路:
通过md5来判断是否重复,开始使用md5sum工具求md5,然后再用PHP读取结果去重。
后来考虑到php的简洁与高效,所以就用它来实现了。
文件数: 80510, 大小: 452,496,873 字节
只查找不删除的速度:
第一次耗时: 122s
第二次耗时: 44s
第三次耗时: 44s
在查找多次之后, 立即查找并删除的速度:
耗时: 83秒, 删除了54406个文件
例子:
<?php
/**
* 去除重复的图片文件
* by www.jbxue.com
*/
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);
您可能感兴趣的文章:
PHP去除重复图片文件的代码
php绘图不显示图片怎么办
php处理文章中图片的方法
php 删除记录同时删除图片文件的代码
ImageMagick安装及使用教程
PHP上传图片、删除图片的简单示例代码
简单的php图片上传自动给图片加水印
php下载css中图片的实例代码
php删除上传的图片与文件夹(实例分享)
如何通过imagick让PHP生成PSD文件缩略图(实例)