array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.stream-wrapper-register.php', 1 => 'stream_wrapper_register', ), 'up' => array ( 0 => 'ref.stream.php', 1 => 'Funções de Fluxo', ), 'prev' => array ( 0 => 'function.stream-supports-lock.php', 1 => 'stream_supports_lock', ), 'next' => array ( 0 => 'function.stream-wrapper-restore.php', 1 => 'stream_wrapper_restore', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/stream/functions/stream-wrapper-register.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)
stream_wrapper_register — Registra um empacotador URL implementado como uma classe PHP
Permite a implementação de manipuladores de protocolo e fluxo do usuário para uso com todas as outras funções de sistemas de arquivos (como fopen(), fread() etc.).
protocol
O nome do empacotador a ser registrado. Nomes de protocolos válidos devem conter somente caracteres alfanuméricos, pontos (.), sinais de adição (+) ou hífens (-).
class
O nome da classe que implementa o protocolo definido no parâmetro protocol
.
flags
Deve ser definida para STREAM_IS_URL
se
protocol
for um protocolo URL. O padrão é 0, fluxo
local.
Retorna true
em caso de sucesso ou false
em caso de falha.
stream_wrapper_register() retornará false
se
protocol
já tiver um manipulador.
Exemplo #1 Como registrar um empacotador de fluxo
<?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, "linha1\n");
fwrite($fp, "linha2\n");
fwrite($fp, "linha3\n");
rewind($fp);
while (!feof($fp)) {
echo fgets($fp);
}
fclose($fp);
var_dump($myvar);
if ($existed) {
stream_wrapper_restore("var");
}
?>
O exemplo acima produzirá:
linha1 linha2 linha3 string(18) "linha1 linha2 linha3 "