This can be obvious, but hash_update_stream() move file pointer. So, use rewind(), if you plan to read the file after hashing.
(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_update_stream — Veriyi açık bir akımdan etkin bir aşlama bağlamına dahil eder
Veriyi açık bir akımdan etkin bir aşlama bağlamına dahil eder.
bağlam
hash_init() tarafından döndürülmüş aşlama bağlamı.
akım
Bir akım oluşturma işlevi tarafından oluşturulmuş bir dosya tanıtıcısı.
uzunluk
Akımdan aşlama bağlamına kopyalanacak azami karakter sayısı.
akım
'dan bağlam
'a eklenebilen
bayt sayısı.
Örnek 1 - hash_update_stream() örneği
<?php
$fp = tmpfile();
fwrite($fp, 'yağız şoföre çabucak güvendi.');
rewind($fp);
$ctx = hash_init('sha256');
hash_update($ctx, 'Pijamalı hasta ');
hash_update_stream($ctx, $fp);
echo hash_final($ctx);
?>
Yukarıdaki örneğin çıktısı:
04eb8190a875ba9b6d05edbb0873e47ad41c48c2fac96e404040568868f3f20d
This can be obvious, but hash_update_stream() move file pointer. So, use rewind(), if you plan to read the file after hashing.