在PHP開發(fā)中,處理RAR文件是一個(gè)常見的需求。RAR文件格式通常用于壓縮和歸檔文件,而PHP提供了各種庫和工具,使得操作RAR文件變得更加便捷和靈活。讓我們一起探討如何在PHP中處理RAR文件,實(shí)現(xiàn)文件的壓縮、解壓縮以及其他操作。
一、安裝
Rar 目前可通過 PECL ” https://pecl.php.net/package/rar 獲取。也可以使用 PECL 安裝程序來安裝 Rar 擴(kuò)展,命令如下:
Pecl -v install rar
也可以下載 tar.gz 包,然后手動(dòng)安裝 Rar:
gunzip rar-xxx.tgz tar -xvf rar-xxx.tar cd rar-xxx phpize ./configure && make && make install
Windows 用戶需要在 php.ini 中啟用 php_rar.dll,才能使用這些功能。
二、預(yù)定義常量
下列常量由此擴(kuò)展定義,且僅在此擴(kuò)展編譯入 PHP 或在運(yùn)行時(shí)動(dòng)態(tài)載入時(shí)可用。
- RAR_HOST_MSDOS (int):使用 RarEntry::HOST_MSDOS 代替。
- RAR_HOST_OS2 (int):使用 RarEntry::HOST_OS2 代替。
- RAR_HOST_WIN32 (int):使用 RarEntry::HOST_WIN32 代替。
- RAR_HOST_UNIX (int):使用 RarEntry::HOST_UNIX 代替。
- RAR_HOST_BEOS (int):使用 RarEntry::HOST_BEOS 代替。
三、示例
即時(shí)解壓縮:
<?php if?(!array_key_exists("i",?$_GET)?||?!is_numeric($_GET["i"])) ????die("Index?unspecified?or?non-numeric"); $index?=?(int)?$_GET["i"]; ???? $arch?=?RarArchive::open("example.rar"); if?($arch?===?FALSE) ????die("Cannot?open?example.rar"); $entries?=?$arch->getEntries(); if?($entries?===?FALSE) ????die("Cannot?retrieve?entries"); if?(!array_key_exists($index,?$entries)) ????die("No?such?index:?$index"); $orfilename?=?$entries[$index]->getName();?//UTF-8?encoded $filesize?=?$entries[$index]->getUnpackedSize(); /*?you?could?check?HTTP_IF_MODIFIED_SINCE?here?and?compare?with ?*?$entries[$index]->getFileTime().?You?could?also?send?a ?*?"Last?modified"?header?*/ $fp?=?$entries[$index]->getStream(); if?($fp?===?FALSE) ????die("Cannot?open?file?with?index?$index?insided?the?archive."); $arch->close();?//no?longer?needed;?stream?is?independent function?detectUserAgent()?{ ????if?(!array_key_exists('HTTP_USER_AGENT',?$_SERVER)) ????????return?"Other"; ???? ????$uas?=?$_SERVER['HTTP_USER_AGENT']; ????if?(preg_match("@Opera/@",?$uas)) ????????return?"Opera"; ????if?(preg_match("@Firefox/@",?$uas)) ????????return?"Firefox"; ????if?(preg_match("@Chrome/@",?$uas)) ????????return?"Chrome"; ????if?(preg_match("@MSIE?([0-9.]+);@",?$uas,?$matches))?{ ????????if?(((float)$matches[1])?>=?7.0) ????????????return?"IE"; ????} ???? ????return?"Other"; } /* ?*?We?have?3?options: ?*?-?For?FF?and?Opera,?which?support?RFC?2231,?use?that?format. ?*?-?For?IE?and?Chrome,?use?attwithfnrawpctenclong ?*???(http://greenbytes.de/tech/tc2231/#attwithfnrawpctenclong) ?*?-?For?the?others,?convert?to?ISO-8859-1,?if?possible ?*/ $formatRFC2231?=?'Content-Disposition:?attachment;?filename*=UTF-8\'\'%s'; $formatDef?=?'Content-Disposition:?attachment;?filename="%s"'; switch?(detectUserAgent())?{ ????case?"Opera": ????case?"Firefox": ????????$orfilename?=?rawurlencode($orfilename); ????????$format?=?$formatRFC2231; ????????break; ????case?"IE": ????case?"Chrome": ????????$orfilename?=?rawurlencode($orfilename); ????????$format?=?$formatDef; ????????break; ????default: ????????if?(function_exists('iconv')) ????????????$orfilename?= ????????????????@iconv("UTF-8",?"ISO-8859-1//TRANSLIT",?$orfilename); ????????$format?=?$formatDef; } header(sprintf($format,?$orfilename)); //cannot?send?error?messages?from?now?on?(headers?already?sent) //replace?by?real?content?type,?perhaps?infering?from?the?file?extension $contentType?=?"application/octet-stream"; header("Content-Type:?$contentType"); header("Content-Transfer-Encoding:?binary"); header("Content-Length:?$filesize"); if?($_SERVER['REQUEST_METHOD']?==?"HEAD") ????die(); ???? while?(!feof($fp))?{ ????$s?=?@fread($fp,?8192); ????if?($s?===?false) ????????break;?//useless?to?send?error?messages ?? ????echo?$s; } ?>
本示例打開一個(gè) RAR 文件,并顯示 RAR 存檔中的請(qǐng)求文件,供客戶端下載:
<?php $rar_file?=?rar_open('example.rar')?or?die("Can't?open?Rar?archive"); $entries?=?rar_list($rar_file); foreach?($entries?as?$entry)?{ ????echo?'Filename:?'?.?$entry->getName()?.?"\n"; ????echo?'Packed?size:?'?.?$entry->getPackedSize()?.?"\n"; ????echo?'Unpacked?size:?'?.?$entry->getUnpackedSize()?.?"\n"; ????$entry->extract('/dir/extract/to/'); } rar_close($rar_file); ?>
以上示例打開一個(gè) RAR 文件存檔,并將每個(gè)條目解壓縮到指定目錄。
四、Rar函數(shù)
rar_wrapper_cache_stats : URL 封裝器的緩存命中率和未命中率。
rar_wrapper_cache_stats(): string
五、RarArchive類
此類表示一個(gè) RAR 存檔,它可能由多個(gè)卷(部分)組成,其中包含 許多 RAR 條目(即文件、目錄和其他特殊對(duì)象,如符號(hào)鏈接)。
可以遍歷此類的對(duì)象,從而生成存儲(chǔ)在相應(yīng) RAR 存檔中的條目。 這些條目也可以通過 RarArchive::getEntry() 和 RarArchive::getEntries() 獲取。
1、類摘要
final class RarArchive implements Traversable { /* 方法 */ public close(): bool public getComment(): string public getEntries(): array|false public getEntry(string $entryname): RarEntry|false public isBroken(): bool public isSolid(): bool public static open(string $filename, string $password = NULL, callable $volume_callback = NULL): RarArchive|false public setAllowBroken(bool $allow_broken): bool public __toString(): string }
2、RarArchive函數(shù)
- RarArchive::close — 關(guān)閉 RAR 存檔并釋放所有資源;
- RarArchive::getComment — 從 RAR 存檔中獲取注釋文本;
- RarArchive::getEntries — 從 RAR 存檔中獲取條目的完整列表;
- RarArchive::getEntry — 從 RAR 存檔中獲取條目對(duì)象;
- RarArchive::isBroken — 測(cè)試存檔是否損壞(不完整);
- RarArchive::isSolid — 檢查 RAR 存檔是否可靠;
- RarArchive::open — 打開 RAR 存檔;
- RarArchive::setAllowBroken — 是否允許打開損壞的存檔;
- RarArchive::__toString — 獲取文本表示。
六、RarEntry類
一個(gè) RAR 條目,代表 RAR 存檔中的一個(gè)目錄或一個(gè)壓縮文件。
1、類摘要
final class RarEntry { /* 常量 */ const int = 0HOST_MSDOS; const int = 1HOST_OS2; const int = 2HOST_WIN32; const int = 3HOST_UNIX; const int = 4HOST_MACOS; const int = 5HOST_BEOS; const int = 1ATTRIBUTE_WIN_READONLY; const int = 2ATTRIBUTE_WIN_HIDDEN; const int = 4ATTRIBUTE_WIN_SYSTEM; const int = 16ATTRIBUTE_WIN_DIRECTORY; const int = 32ATTRIBUTE_WIN_ARCHIVE; const int = 64ATTRIBUTE_WIN_DEVICE; const int = 128ATTRIBUTE_WIN_NORMAL; const int = 256ATTRIBUTE_WIN_TEMPORARY; const int = 512ATTRIBUTE_WIN_SPARSE_FILE; const int = 1024ATTRIBUTE_WIN_REPARSE_POINT; const int = 2048ATTRIBUTE_WIN_COMPRESSED; const int = 4096ATTRIBUTE_WIN_OFFLINE; const int = 8192ATTRIBUTE_WIN_NOT_CONTENT_INDEXED; const int = 16384ATTRIBUTE_WIN_ENCRYPTED; const int = 65536ATTRIBUTE_WIN_VIRTUAL; const int = 1ATTRIBUTE_UNIX_WORLD_EXECUTE; const int = 2ATTRIBUTE_UNIX_WORLD_WRITE; const int = 4ATTRIBUTE_UNIX_WORLD_READ; const int = 8ATTRIBUTE_UNIX_GROUP_EXECUTE; const int = 16ATTRIBUTE_UNIX_GROUP_WRITE; const int = 32ATTRIBUTE_UNIX_GROUP_READ; const int = 64ATTRIBUTE_UNIX_OWNER_EXECUTE; const int = 128ATTRIBUTE_UNIX_OWNER_WRITE; const int = 256ATTRIBUTE_UNIX_OWNER_READ; const int = 512ATTRIBUTE_UNIX_STICKY; const int = 1024ATTRIBUTE_UNIX_SETGID; const int = 2048ATTRIBUTE_UNIX_SETUID; const int = 61440ATTRIBUTE_UNIX_FINAL_QUARTET; const int = 4096ATTRIBUTE_UNIX_FIFO; const int = 8192ATTRIBUTE_UNIX_CHAR_DEV; const int = 16384ATTRIBUTE_UNIX_DIRECTORY; const int = 24576ATTRIBUTE_UNIX_BLOCK_DEV; const int = 32768ATTRIBUTE_UNIX_REGULAR_FILE; const int = 40960ATTRIBUTE_UNIX_SYM_LINK; const int = 49152ATTRIBUTE_UNIX_SOCKET; /* 方法 */ public extract( string $dir, string $filepath = "", string $password = NULL, bool $extended_data = false ): bool public getAttr(): int public getCrc(): string public getFileTime(): string public getHostOs(): int public getMethod(): int public getName(): string public getPackedSize(): int public getStream(string $password = ?): resource|false public getUnpackedSize(): int public getVersion(): int public isDirectory(): bool public isEncrypted(): bool public __toString(): string }
2、預(yù)定義常量
- RarEntry::HOST_MSDOS:如果 RarEntry::getHostOs() 的返回值等于此常數(shù),則表示使用 MS-DOS 添加此條目。使用該常量代替 RAR_HOST_MSDOS。
- RarEntry::HOST_OS2:如果 RarEntry::getHostOs() 的返回值等于此常數(shù),則表示使用 OS/2 添加此條目。旨在取代 RAR_HOST_OS2。
- RarEntry::HOST_WIN32:如果 RarEntry::getHostOs() 的返回值等于此常數(shù),則使用 Microsoft Windows 添加此條目。旨在取代 RAR_HOST_WIN32。
- RarEntry::HOST_UNIX:如果 RarEntry::getHostOs() 的返回值等于此常量,則表示使用了未指定的 UNIX 操作系統(tǒng)添加此條目。用于替換 RAR_HOST_UNIX。
- RarEntry::HOST_MACOS:如果 RarEntry::getHostOs() 的返回值等于此常量,則表示使用 Mac OS 添加此條目。
- RarEntry::HOST_BEOS:如果 RarEntry::getHostOs() 的返回值等于此常數(shù),則使用 BeOS 添加此條目。用于替換 RAR_HOST_BEOS。
- RarEntry::ATTRIBUTE_WIN_READONLY:表示具有只讀屬性的 Windows 條目的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。
- RarEntry::ATTRIBUTE_WIN_HIDDEN:表示具有隱藏屬性的 Windows 條目的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。
- RarEntry::ATTRIBUTE_WIN_SYSTEM:表示具有系統(tǒng)屬性的 Windows 條目的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。
- RarEntry::ATTRIBUTE_WIN_DIRECTORY:表示具有目錄屬性的 Windows 條目(條目是一個(gè)目錄)。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。另請(qǐng)參閱 RarEntry::isDirectory(),它也適用于未在 WinRAR 中添加的條目。
- RarEntry::ATTRIBUTE_WIN_ARCHIVE:表示帶有歸檔屬性的 Windows 條目。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。
- RarEntry::ATTRIBUTE_WIN_DEVICE:表示具有設(shè)備屬性的 Windows 條目的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。
- RarEntry::ATTRIBUTE_WIN_NORMAL:表示具有普通文件屬性的 Windows 條目(條目不是目錄)。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。另請(qǐng)參閱 RarEntry::isDirectory(),它也適用于未在 WinRAR 中添加的條目。
- RarEntry::ATTRIBUTE_WIN_TEMPORARY:表示具有臨時(shí)屬性的 Windows 條目的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。
- RarEntry::ATTRIBUTE_WIN_SPARSE_FILE:表示具有稀疏文件屬性(文件為 NTFS 稀疏文件)的 Windows 條目的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。
- RarEntry::ATTRIBUTE_WIN_REPARSE_POINT:用于表示具有稀疏點(diǎn)屬性的 Windows 條目(條目是 NTFS 稀疏點(diǎn),例如目錄結(jié)點(diǎn)或掛載文件系統(tǒng))。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。
- RarEntry::ATTRIBUTE_WIN_COMPRESSED:表示具有壓縮屬性的 Windows 條目的位(僅限 NTFS)。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。
- RarEntry::ATTRIBUTE_WIN_OFFLINE:表示 Windows 條目具有脫機(jī)屬性(條目脫機(jī)且不可訪問)的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。
- RarEntry::ATTRIBUTE_WIN_NOT_CONTENT_INDEXED:表示 Windows 條目具有非內(nèi)容索引屬性(條目將被索引)的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。
- RarEntry::ATTRIBUTE_WIN_ENCRYPTED:表示具有加密屬性的 Windows 條目的位(僅限 NTFS)。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。
- RarEntry::ATTRIBUTE_WIN_VIRTUAL:表示具有虛擬屬性的 Windows 條目的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 Microsoft Windows 的條目。
- RarEntry::ATTRIBUTE_UNIX_WORLD_EXECUTE:表示 UNIX 條目可在全球范圍內(nèi)執(zhí)行的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目。
- RarEntry::ATTRIBUTE_UNIX_WORLD_WRITE:表示 UNIX 條目全球可寫的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目。
- RarEntry::ATTRIBUTE_UNIX_WORLD_READ:表示 UNIX 條目全球可讀的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目。
- RarEntry::ATTRIBUTE_UNIX_GROUP_EXECUTE:表示 UNIX 條目可分組執(zhí)行的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目。
- RarEntry::ATTRIBUTE_UNIX_GROUP_WRITE:表示 UNIX 條目可分組寫入的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目。
- RarEntry::ATTRIBUTE_UNIX_GROUP_READ:表示 UNIX 條目組可讀的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目。
- RarEntry::ATTRIBUTE_UNIX_OWNER_EXECUTE:表示 UNIX 條目是所有者可執(zhí)行的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目。
- RarEntry::ATTRIBUTE_UNIX_OWNER_WRITE:表示 UNIX 條目所有者可寫的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目。
- RarEntry::ATTRIBUTE_UNIX_OWNER_READ:表示 UNIX 條目所有者可讀的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目。
- RarEntry::ATTRIBUTE_UNIX_STICKY:表示 UNIX 粘性位的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目。
- RarEntry::ATTRIBUTE_UNIX_SETGID:表示 UNIX setgid 屬性的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目。
- RarEntry::ATTRIBUTE_UNIX_SETUID:表示 UNIX setuid 屬性的位。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目。
- RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET:用于隔離 UNIX 屬性(_S_IFMT,文件掩碼類型)最后四位(nibble)的掩碼。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目,并與常量 RarEntry::ATTRIBUTE_UNIX_FIFO、RarEntry::ATTRIBUTE_UNIX_CHAR_DEV、RarEntry::ATTRIBUTE_UNIX_CHAR_DEV 一起使用: ATTRIBUTE_UNIX_DIRECTORY、RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV、RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE、RarEntry::ATTRIBUTE_UNIX_SYM_LINK 和 RarEntry::ATTRIBUTE_UNIX_SOCKET。
- RarEntry::ATTRIBUTE_UNIX_FIFO:Unix FIFO 將具有最后四位具有此值的屬性。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目,并與常量 RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET 一起使用。
- RarEntry::ATTRIBUTE_UNIX_CHAR_DEV:Unix 字符設(shè)備將具有最后四位具有此值的屬性。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目,并與常量 RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET 一起使用。
- RarEntry::ATTRIBUTE_UNIX_DIRECTORYUnix 目錄的屬性的最后四位具有此值。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目,并與常量 RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET 一起使用。
- RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV:Unix 塊設(shè)備的屬性最后四位具有此值。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目,并與常量 RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET 一起使用。
- RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE:Unix 常規(guī)文件(非目錄)的屬性的最后四位具有此值。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目,并與常量 RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET 一起使用。另請(qǐng)參閱 RarEntry::isDirectory(),它也適用于在其他操作系統(tǒng)中添加的條目。
- RarEntry::ATTRIBUTE_UNIX_SYM_LINK:Unix 符號(hào)鏈接的屬性后四位具有此值。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目,并與常量 RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET 一起使用。
- RarEntry::ATTRIBUTE_UNIX_SOCKET:Unix 套接字的最后四位屬性值為此值。與 RarEntry::getAttr() 一起用于主機(jī)操作系統(tǒng)為 UNIX 的條目,并與常量 RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET 一起使用。
3、RarEntry函數(shù)
- RarEntry::extract – 從壓縮包中提取條目。
- RarEntry::getAttr – 獲取條目的屬性。
- RarEntry::getCrc – 獲取條目的 CRC。
- RarEntry::getFileTime – 獲取條目的最后修改時(shí)間。
- RarEntry::getHostOs – 獲取條目主機(jī)操作系統(tǒng)。
- RarEntry::getMethod – 獲取條目的打包方法。
- RarEntry::getName – 獲取條目的名稱。
- RarEntry::getPackedSize – 獲取條目的打包大小。
- RarEntry::getStream – 獲取條目的文件處理程序。
- RarEntry::getUnpackedSize – 獲取未打包條目的大小。
- RarEntry::getVersion – 獲取解壓縮條目所需的最小 RAR 程序版本。
- RarEntry::isDirectory – 測(cè)試條目是否代表一個(gè)目錄。
- RarEntry::isEncrypted – 測(cè)試條目是否加密。
- RarEntry::__toString – 獲取條目的文本表示形式。
七、RarException類
此類有兩個(gè)用途:它是 RAR 擴(kuò)展引發(fā)的異常類型 函數(shù)和方法,它允許通過靜態(tài)方法查詢和定義錯(cuò)誤 擴(kuò)展的行為,即是拋出異常還是僅發(fā)出警告。
使用以下錯(cuò)誤代碼:
- 1 – UnRAR 庫外部的錯(cuò)誤
- 11 – 內(nèi)存不足
- 12 – 數(shù)據(jù)錯(cuò)誤
- 13 – 錯(cuò)誤的存檔
- 14 – 未知格式
- 15 – 文件打開錯(cuò)誤
- 16 – 文件創(chuàng)建錯(cuò)誤
- 17 – 文件關(guān)閉錯(cuò)誤
- 18 – 讀取錯(cuò)誤
- 19 – 寫入錯(cuò)誤
- 20 – 緩沖區(qū)太小
- 21 – 未知 RAR 錯(cuò)誤
- 22 – 需要密碼但未提供密碼
1、類摘要
final class RarException extends Exception { /* 方法 */ public static isUsingExceptions(): bool public static setUsingExceptions(bool $using_exceptions): void /* 繼承的方法 */ final public Exception::getMessage(): string final public Exception::getPrevious(): ?Throwable final public Exception::getCode(): int final public Exception::getFile(): string final public Exception::getLine(): int final public Exception::getTrace(): array final public Exception::getTraceAsString(): string public Exception::__toString(): string private Exception::__clone(): void }
2、RarException函數(shù)
- RarException::isUsingExceptions — 檢查是否正在使用帶有異常的錯(cuò)誤處理。
- RarException::setUsingExceptions — 激活和停用異常錯(cuò)誤處理。