This can be obvious, but hash_update_stream() move file pointer. So, use rewind(), if you plan to read the file after hashing.hash_update_stream
(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_update_stream — Pump data into an active hashing context from an open stream
Description
Parameters
context-
Hashing context returned by hash_init().
stream-
Open file handle as returned by any stream creation function.
length-
Maximum number of characters to copy from
streaminto the hashing context.
Return Values
Actual number of bytes added to the hashing context from stream.
Examples
Example #1 hash_update_stream() example
<?php
$fp = tmpfile();
fwrite($fp, 'jumped over the lazy dog.');
rewind($fp);
$ctx = hash_init('sha256');
hash_update($ctx, 'The quick brown fox ');
hash_update_stream($ctx, $fp);
echo hash_final($ctx);
?>The above example will output:
68b1282b91de2c054c36629cb8dd447f12f096d3e3c587978dc2248444633483
See Also
- hash_init() - Initialize an incremental hashing context
- hash_update() - Pump data into an active hashing context
- hash_final() - Finalize an incremental hash and return resulting digest
+add a note
User Contributed Notes 1 note
qiuty at mail dot ru ¶
5 years ago