Through composer:
$ composer require bantu/stream-filter-hashUse 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);

