ストリーム

目次

php_user_filter クラス

はじめに

このクラスの子クラスを stream_filter_register に渡します。 子クラスの __construct メソッドは呼び出されないので注意して下さい: 初期化については、 php_user_filter::onCreate を変わりに使うべきです。

クラス概要

php_user_filter
/* プロパティ */
public string $filtername = "";
public mixed $params = "";
public resourcenull $stream = null;
/* メソッド */
public int filter(
    resource $in,
    resource $out,
    int &$consumed,
    bool $closing
)
public void onClose()
public bool onCreate()

プロパティ

filtername

stream_filter_append で登録するフィルタの名前。

params

stream

streamWrapper クラス

はじめに

独自のプロトコルハンドラやストリームを実装し、 (fopenfread などの) 他のファイルシステム関数で使用できるようにします。

注意:

これは、実際のクラスではありません。 クラスがどのようにプロトコルを定義すべきかを示す、単なるプロトタイプです。

注意:

ここに示す方法以外でメソッドを実装した場合の挙動は未定義となります。

このクラスのインスタンスは、 関連付けられているプロトコルへのストリーム関数からのアクセスがあった時点で初期化されます。

クラス概要

streamWrapper
class streamWrapper {
/* プロパティ */
public resource $context;
/* メソッド */
public __construct()
public bool dir_closedir()
public bool dir_opendir(string $path, int $options)
public string dir_readdir()
public bool dir_rewinddir()
public bool mkdir(string $path, int $mode, int $options)
public bool rename(string $path_from, string $path_to)
public bool rmdir(string $path, int $options)
public resource stream_cast(int $cast_as)
public void stream_close()
public bool stream_eof()
public bool stream_flush()
public bool stream_lock(int $operation)
public bool stream_metadata(string $path, int $option, mixed $value)
public bool stream_open(
    string $path,
    string $mode,
    int $options,
    stringnull &$opened_path
)
public stringfalse stream_read(int $count)
public bool stream_seek(int $offset, int $whence = SEEK_SET)
public bool stream_set_option(int $option, int $arg1, int $arg2)
public arrayfalse stream_stat()
public int stream_tell()
public bool stream_truncate(int $new_size)
public int stream_write(string $data)
public bool unlink(string $path)
public arrayfalse url_stat(string $path, int $flags)
public __destruct()
}

プロパティ

resource context

現在のコンテキスト、 あるいは呼び出し元からコンテキストが渡されていない場合は null

stream_context_get_options を用いてコンテキストをパースします。

注意:

このプロパティは必ず public とし、 PHP が実際のコンテキストリソースを設定できるようにしなければなりません。

参考