To get this to run on my machine, I had to change line 81 to:
$Fcheck[substr(`md5 $file`, 0, 32)][] = $file;
Don't really understand why you're not just using PHP's own md5_file()
, though. Also, I found the log report much more legible if we change line 102 to:
fwrite($f, join('=', $a) . "\n\n");
The script seems to work, but there's a glitch; if there's two or more sets of matching files in the same directory, the script reports all of those files as matching each other.
It's a good start, though. I was planning on writing something like this for myself one of these days.