例 -- Stream_Varの利用例

Stream_Varの登録

以下の例は、ストリーム関数のラッパーとしてのStream_Varの登録方法を示して います。

例 53-1Stream_Varの登録


<?php
require_once "Stream/Var.php";
stream_wrapper_register( "var", "Stream_Var" );
?>

スカラー変数へのアクセス

以下の例は、fopen(), fread(), frwite() and fclose()を使ったスカラー変数のアクセス方法を示して います。

例 53-2スカラー変数へのアクセス


<?php
require_once "Stream/Var.php";
stream_wrapper_register( "var", "Stream_Var" );
$foo = "I really like tomatoes.";

echo "Content of foo: $foo<br />";

$fp = fopen('var://GLOBALS/foo','r+');

$data = fread($fp, 9);
echo "Read from stream: $data<br />";

fwrite($fp,"hate");

fclose($fp);

echo "Content of foo: $foo<br />";
?>

配列へのアクセス

以下の例は、opendir()を使った配列へのアクセス方法を 示しています。

例 53-3配列へのアクセス


<?php
require_once "Stream/Var.php";
stream_wrapper_register( "var", "Stream_Var" );
$dirname = 'var://_SERVER';
$dir = opendir($dirname);
echo    "<strong>opening directory '$dirname'</strong><br><br>";

while ($entry = readdir($dir)) {
    echo "opening file $dirname/$entry<br />";
    if (!$fp = @fopen($dirname."/".$entry,"r")) {
        echo "seems to be a directory<br /><br />";
        continue;
    }

    echo "reading from $entry<br />";
    while (!feof($fp)) {
        echo fread($fp, 16);
    }
    fclose($fp);
    echo    "<br /><br />";
}
closedir($dir);
?>

その他の例

もし、その他の例を参照したいのであれば、パッケージをインストールしてください。そうすれば、docsディレクトリにインストールされます。