W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
(PECL rar >= 2.0.0)
RarEntry::getStream — 獲取條目的文件處理程序
public RarEntry::getStream(string $password = ?): resource|false
返回一個文件處理程序,該文件處理程序 支持讀取操作。此處理程序提供動態(tài)解壓縮 對于此條目。
處理程序不會因調(diào)用 rar_close() 而失效。
警告
生成的流沒有完整性驗證。特別是文件損壞和 不會檢測到密鑰錯誤的解密。程序員有責(zé)任使用條目的 CRC 如果他愿意的話,檢查完整性。
password
用于加密此條目的密碼。如果條目未加密,則不會使用此值,并且可以 省略。如果省略此參數(shù)并加密條目,則將使用提供給 rar_open() 的密碼(如果有)。如果輸入了錯誤的密碼,則顯式 或者通過 rar_open() 隱式地,此方法的結(jié)果流將產(chǎn)生錯誤 輸出。如果未提供密碼,并且需要密碼,則此方法將失敗并返回 false
。 您可以使用 RarEntry::isEncrypted() 檢查條目是否加密。
The file handler 或者在失敗時返回 false.
版本 | 說明 |
---|---|
PECL rar 3.0.0 | 對具有重復(fù)條目名稱的 RAR 存檔的支持不再有缺陷。 |
示例 #1 RarEntry::getStream() example
<?php
$rar_file = rar_open('example.rar');
if ($rar_file === false)
die("Failed to open Rar archive");
$entry = rar_entry_get($rar_file, 'Dir/file.txt');
if ($entry === false)
die("Failed to find such entry");
$stream = $entry->getStream();
if ($stream === false)
die("Failed to obtain stream.");
rar_close($rar_file); //stream is independent from file
while (!feof($stream)) {
$buff = fread($stream, 8192);
if ($buff !== false)
echo $buff;
else
break; //fread error
}
fclose($stream);
?>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: