Учебник РНР
Назад Вперёд

file_register_wrapper

(только PHP 4 CVS)

file_register_wrapper - регистрирует оболочку URL, реализованную как PHP-класс.

Описание

boolean file_register_wrapper (string protocol, string classname)

Эта функция задокументирована в настоящее время только следующим примером:
Пример 1. Реализация протокола шифрования base64
class Base64EncodingStream {
    var $fp = null;

    function stream_open($path, $mode, $options, &$opened_path)
    {
        $this->fp = fopen($path, $mode);
        return is_resource($this->fp);
    }
    function stream_close()
    {
        fclose($this->fp);
    }
    function stream_read($count)
    {
        return false; // We only allow writing
    }
    function stream_write($data)
    {
        return fwrite($this->fp, base64_encode($data));
    }
    function stream_flush()
    {
        fflush($this->fp);
        return true;
    }
    function stream_seek($offset, $whence)
    {
        return false;
    }
    function stream_gets()
    {
        return false;
    }
    function stream_tell()
    {
        return false;
    }
    function stream_eof()
    {
        return false;
    }
}
file_register_wrapper("base64", "Base64EncodingStream")
    or die("Failed to register protocol");

copy("/tmp/inputfile.txt", "base64:///tmp/outputfile.txt");
readfile("/tmp/outputfile");

file_register_wrapper() возвратит false, если protocol уже имеет дескриптор или если "fopen-оболочки" отключены.

Примечание: эта функция была введена в PHP 4.3.0.


Назад Оглавление Вперёд
file_get_wrapper_data Вверхfile