stream_wrapper_register

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

stream_wrapper_registerРегистрирует обёртку URL, реализованную в виде PHP-класса

Описание

stream_wrapper_register(string $protocol, string $class, int $flags = 0): bool

Позволяет вам реализовать ваши собственные обработчики протоколов и потоков для использования со всеми другими функциями файловой системы (такими как fopen(), fread() и т.д.).

Список параметров

protocol

Название регистрируемой обёртки. Допустимые имена протоколов должны содержать только буквы, цифры, точки (.), плюсы (+) или дефисы (-).

class

Название класса, который реализует протокол protocol.

flags

Должно быть установлено в STREAM_IS_URL, если параметр protocol является протоколом URL. По умолчанию 0, локальный поток.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

stream_wrapper_register() будет возвращать false, если протокол protocol уже имеет обработчик.

Примеры

Пример #1 Как зарегистрировать обёртку потока

<?php
$existed
= in_array("var", stream_get_wrappers());
if (
$existed) {
stream_wrapper_unregister("var");
}
stream_wrapper_register("var", "VariableStream");
$myvar = "";

$fp = fopen("var://myvar", "r+");

fwrite($fp, "line1\n");
fwrite($fp, "line2\n");
fwrite($fp, "line3\n");

rewind($fp);
while (!
feof($fp)) {
echo
fgets($fp);
}
fclose($fp);
var_dump($myvar);

if (
$existed) {
stream_wrapper_restore("var");
}

?>

Результат выполнения приведённого примера:

line1
line2
line3
string(18) "line1
line2
line3
"

Смотрите также