hash_update_stream
(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)
hash_update_stream — Добавляет данные из открытого потока в активный контекст хеширования
Описание
int hash_update_stream
( resource
$context
, resource $handle
[, int $length
= -1
] )Список параметров
-
context
-
Контекст хеширования, возвращаемый hash_init().
-
handle
-
Дескриптор открытого файла, возвращаемый любой функцией создания потока.
-
length
-
Максимальное число символов для копирования из
handle
в контекст хеширования.
Возвращаемые значения
Фактическое количество байт, добавленное в контекст хеширования из handle
.
Примеры
Пример #1 Пример использования hash_update_stream()
<?php
$fp = tmpfile();
fwrite($fp, 'Наглый коричневый лисёнок прыгает вокруг ленивой собаки.');
rewind($fp);
$ctx = hash_init('md5');
hash_update_stream($ctx, $fp);
echo hash_final($ctx);
?>
Результат выполнения данного примера:
bff8b4bc8b5c1c1d5b3211dfb21d1e76
Смотрите также
- hash_init() - Инициализация инкрементального контекста хеширования
- hash_update() - Добавляет данные в активный контекст хеширования
- hash_final() - Завершает инкрементальное хеширование и возвращает результат в виде хеш-кода
- hash() - Генерирует хеш-код (дайджест сообщения)
- hash_file() - Генерация хеш-значения, используя содержимое заданного файла
Коментарии
This can be obvious, but hash_update_stream() move file pointer. So, use rewind(), if you plan to read the file after hashing.