Through composer:
$ composer require bantu/stream-filter-hash
Use HashFilter::appendToWriteStream($stream, $params)
to calculate a checksum
of everything written to $stream
. The $params
argument has to be an array
specifying the hash algorithm to use via the algo
array key (e.g. md5
or
sha256
). Furthermore $params
either needs to be passed a callback via the
callback
array key or an output stream using the stream
array key.
Create an output.txt.sha256
file containing a checksum of everything you
write to output.txt
.
require 'vendor/autoload.php';
$dest = fopen('output.txt', 'w+b');
$hash = fopen('output.txt.md5', 'w+b');
\bantu\StreamFilter\Hash\HashFilter::appendToWriteStream($dest, array(
'algo' => 'sha256', 'stream' => $hash,
));
fwrite($dest, 'The quick brown fox jumps over the lazy dog');
fclose($dest);
fclose($hash);