array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'es', ), 'this' => array ( 0 => 'function.stream-wrapper-register.php', 1 => 'stream_wrapper_register', ), 'up' => array ( 0 => 'ref.stream.php', 1 => 'Funciones de Flujos', ), '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' => 'es', '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 una envoltura de URL implementada como una clase de PHP
Permite implementar sus propios gestores de protocolo y flujos para usarlos con todas las demás funciones de sistema de archivos (tales como fopen(), fread() etc.).
protocol
El nombre de la envoltura a ser registrada.
classname
El nombre de la clase que implementa protocol
.
flags
Debería ser establecido a STREAM_IS_URL
si
protocol
es un protocolo de URL. Por defecto es 0, flujo
local.
Devuelve true
en caso de éxito o false
en caso de error.
stream_wrapper_register() devolverá false
si
protocol
ya tiene un gestor.
Versión | Descripción |
---|---|
5.2.4 |
Añadido el parámetro flags .
|
Ejemplo #1 Cómo registrar una envoltura de flujo
<?php
$existed = in_array("var", stream_get_wrappers());
if ($existed) {
stream_wrapper_unregister("var");
}
stream_wrapper_register("var", "VariableStream");
$mivar = "";
$fp = fopen("var://mivar", "r+");
fwrite($fp, "línea1\n");
fwrite($fp, "línea2\n");
fwrite($fp, "línea3\n");
rewind($fp);
while (!feof($fp)) {
echo fgets($fp);
}
fclose($fp);
var_dump($mivar);
if ($existed) {
stream_wrapper_restore("var");
}
?>
El resultado del ejemplo sería:
línea1 línea2 línea3 string(24) "línea1 línea2 línea3 "