関数・クラス解説
RarEntry::getStream
version:PECL rar >= 2.0.0 (公式)このエントリのファイルハンドラを取得する
公式リファレンス
書式
public RarEntry::getStream ([ string $password ] ) : resource|false
説明
読み込み操作をサポートするファイルハンドラを返します。 このハンドラを使って、このエントリをその場で展開します。
このハンドラは、rar_close() をコールしても無効にはなりません。
警告返されるストリームでは、整合性の検証を行いません。 特に、ファイルの破損や間違ったキーによる復号は検出できません。 もし整合性を検証したいのなら、エントリの CRC を確認するのはプログラマ側の役割となります。
パラメータ
- password
- このエントリの暗号化に使うパスワード。 エントリが暗号化されていない場合は、この値は使われずに無視されます。 このパラメータが省略されていてエントリが暗号化されていた場合は、もし rar_open() でパスワードを指定していればそれを使います。 このパラメータや rar_open() で指定したパスワードが間違っていたときは、 このメソッドの結果のストリームは間違った結果を出力します。 パスワードが要求されているときにパスワードを指定していなければ、 このメソッドは失敗して FALSE を返します。 エントリが暗号化されているかどうかを知るには RarEntry::isEncrypted() を使います。
返値
ファイルハンドラを返します。失敗した場合に FALSE を返します。
注意
警告 返されるストリームでは、整合性の検証を行いません。 特に、ファイルの破損や間違ったキーによる復号は検出できません。 もし整合性を検証したいのなら、エントリの CRC を確認するのはプログラマ側の役割となります。
更新履歴
バージョン | 説明 |
---|---|
PECL rar 3.0.0 | エントリ名が繰り返される RAR アーカイブも対応するようになりました。 |
サンプル
例1 RarEntry::getStream() の例
$rar_file = rar_open('example.rar');
if ($rar_file === false)
die("Rar アーカイブのオープンに失敗しました");
$entry = rar_entry_get($rar_file, 'Dir/file.txt');
if ($entry === false)
die("そのようなエントリは見つかりません");
$stream = $entry->getStream();
if ($stream === false)
die("ストリームの取得に失敗しました");
rar_close($rar_file); // ストリームはファイルとは独立しています
while (!feof($stream)) {
$buff = fread($stream, 8192);
if ($buff !== false)
echo $buff;
else
break; // fread のエラー
}
fclose($stream);
参考
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール