男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站

rar://

rar://RAR

說(shuō)明

封裝協(xié)議采用 url 編碼,(相對/絕對)路徑的 RAR 歸檔、一個(gè)可選的星號(*)、一個(gè)可選的井號(# )和一個(gè)可選的存儲在歸檔中的 url 編碼條目名稱(chēng)。指定條目名稱(chēng)必須帶有井號,條目名稱(chēng)開(kāi)頭的斜線(xiàn)是可選的。

該封裝協(xié)議可以打開(kāi)文件和目錄。當打開(kāi)目錄時(shí),星號會(huì )強制返回未編碼的目錄條目名稱(chēng)。如果不指定星號,將返回 URL 編碼的目錄條目名稱(chēng) —— 這樣做的原因是存在類(lèi)似 URL 編碼的文件名時(shí),允許封裝協(xié)議能夠與內置方法(比如 RecursiveDirectoryIterator)一起正確使用。

如果不包含井號和條目名稱(chēng)部分,將會(huì )顯示歸檔的根目錄。與常規目錄不同的是生成的流不會(huì )包含諸如修改時(shí)間之類(lèi)的信息, 因為根目錄不會(huì )存儲在歸檔的條目中。當訪(fǎng)問(wèn)根目錄時(shí), RecursiveDirectoryIterator 與封裝協(xié)議一起使用時(shí)需要在 ULR 中包含井號,以便正確構建子級 URL。

注意: 該封裝協(xié)議不會(huì )默認啟用
為了使用 rar:// 封裝協(xié)議,必須從 ? PECL 中安裝可用的 ? rar 擴展。

rar:// 自 PECL rar 3.0.0 起可用

用法

  • rar://<url encoded archive name>[*][#[<url encoded entry name>]]

可選項

封裝協(xié)議摘要
屬性 支持
受限于 allow_url_fopen No
受限于 allow_url_include No
允許讀取 Yes
允許寫(xiě)入 No
允許附加 No
允許同時(shí)讀寫(xiě) No
支持 stat() Yes
支持 unlink() No
支持 rename() No
支持 mkdir() No
支持 rmdir() No

上下文選項
名稱(chēng) 用法 默認
open_password 用于加密歸檔報頭的密碼(如果有)。如果存在后者,WinRAR 將使用相同的密碼作為報頭密碼加密所有文件, 因此對于帶有加密報頭的歸檔, file_password 將會(huì )被忽略。  
file_password 用于加密文件的密碼(如果有)。如果報頭也加密,這個(gè)選項將會(huì )被忽略以支持 open_password。 有兩個(gè)選項的原因是為了支持可能會(huì )出現的報頭和文件密碼不同的歸檔。請注意,如果歸檔沒(méi)有加密它的報頭, open_password 將會(huì )忽略且必須使用此選項代替。  
volume_callback 確定缺失卷的路徑回調。請參閱 RarArchive::open() 獲取更多信息。  

范例

示例 #1 遍歷 RAR 歸檔

<?php

class MyRecDirIt extends RecursiveDirectoryIterator {
    function 
current() {
        return 
rawurldecode($this->getSubPathName()) .
            (
is_dir(parent::current())?" [DIR]":"");
    }
}

$f "rar://" rawurlencode(dirname(__FILE__)) .
    
DIRECTORY_SEPARATOR 'dirs_and_extra_headers.rar#';

$it = new RecursiveTreeIterator(new MyRecDirIt($f));

foreach (
$it as $s) {
    echo 
$s"\n";
}
?>

以上例程的輸出類(lèi)似于:

|-allow_everyone_ni [DIR]
|-file1.txt
|-file2_?.txt
|-with_streams.txt
\-? [DIR]
  |-?\%2Fempty%2E [DIR]
  | \-?\%2Fempty%2E\file7.txt
  |-?\empty [DIR]
  |-?\file3.txt
  |-?\file4_?.txt
  \-?\?_2 [DIR]
    |-?\?_2\file5.txt
    \-?\?_2\file6_?.txt

示例 #2 打開(kāi)加密文件(報頭加密)

<?php
$stream 
fopen("rar://" .
    
rawurlencode(dirname(__FILE__)) . DIRECTORY_SEPARATOR .
    
'encrypted_headers.rar' '#encfile1.txt'"r"false,
    
stream_context_create(
        array(
            
'rar' =>
                array(
                    
'open_password' => 'samplepassword'
                
)
            )
        )
    );
var_dump(stream_get_contents($stream));
/* 在 WinRAR 中創(chuàng )建日期和最后訪(fǎng)問(wèn)日期是可選的,
 * 因此大多數文件都沒(méi)有 */
var_dump(fstat($stream));
?>

以上例程的輸出類(lèi)似于:

string(26) "Encrypted file 1 contents."
Array
(
    [0] => 0
    [1] => 0
    [2] => 33206
    [3] => 1
    [4] => 0
    [5] => 0
    [6] => 0
    [7] => 26
    [8] => 0
    [9] => 1259550052
    [10] => 0
    [11] => -1
    [12] => -1
    [dev] => 0
    [ino] => 0
    [mode] => 33206
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 26
    [atime] => 0
    [mtime] => 1259550052
    [ctime] => 0
    [blksize] => -1
    [blocks] => -1
)
男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站