|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/poskrypt/test.poskrypt.com/vendor1/league/flysystem/src/ |
Upload File : |
<?php
declare(strict_types=1);
namespace League\Flysystem;
use function hash_final;
use function hash_init;
use function hash_update_stream;
trait CalculateChecksumFromStream
{
private function calculateChecksumFromStream(string $path, Config $config): string
{
try {
$stream = $this->readStream($path);
$algo = (string) $config->get('checksum_algo', 'md5');
$context = hash_init($algo);
hash_update_stream($context, $stream);
return hash_final($context);
} catch (FilesystemException $exception) {
throw new UnableToProvideChecksum($exception->getMessage(), $path, $exception);
}
}
/**
* @return resource
*/
abstract public function readStream(string $path);
}