diff options
author | Florian Pritz <bluewind@xinu.at> | 2014-11-08 17:25:31 +0100 |
---|---|---|
committer | Florian Pritz <bluewind@xinu.at> | 2015-05-21 18:43:13 +0200 |
commit | 1172f71ca8cc22384ab4bf7242c7645d88e0f6c8 (patch) | |
tree | f303443429bb5ebaa480ec72b2d030238102ea6d /application/helpers/filebin_helper.php | |
parent | e6e68d4417b3b33cfb16753340460f617b847361 (diff) |
Support multiple files with the same hash
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'application/helpers/filebin_helper.php')
-rw-r--r-- | application/helpers/filebin_helper.php | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/application/helpers/filebin_helper.php b/application/helpers/filebin_helper.php index 7adab7279..563364d32 100644 --- a/application/helpers/filebin_helper.php +++ b/application/helpers/filebin_helper.php @@ -324,4 +324,31 @@ function mimetype($file) { return $mimetype; } +function files_are_equal($a, $b) +{ + $chunk_size = 8*1024; + + // Check if filesize is different + if (filesize($a) !== filesize($b)) { + return false; + } + + // Check if content is different + $ah = fopen($a, 'rb'); + $bh = fopen($b, 'rb'); + + $result = true; + while (!feof($ah) && !feof($bh)) { + if (fread($ah, $chunk_size) !== fread($bh, $chunk_size)) { + $result = false; + break; + } + } + + fclose($ah); + fclose($bh); + + return $result; +} + # vim: set noet: |