mirror of
https://github.com/php-win-ext/php-rar.git
synced 2026-03-24 13:02:06 +01:00
Introduction of RarException. Added rar_solid_get RarEntry and RarArchive cannot be instantiated in user space. Quite some refactoring. git-svn-id: http://svn.php.net/repository/pecl/rar/trunk@292412 c90b9560-bf6c-de11-be94-00142212c4b1
47 lines
1.2 KiB
PHP
47 lines
1.2 KiB
PHP
--TEST--
|
|
rar_open()/RarEntry::getStream() (headers level password)
|
|
--SKIPIF--
|
|
<?php if(!extension_loaded("rar")) print "skip"; ?>
|
|
--FILE--
|
|
<?php
|
|
echo "--> should fail (no password):\n";
|
|
$rar_file1 = rar_open(dirname(__FILE__).'/encrypted_headers.rar');
|
|
$entries = rar_list($rar_file1);
|
|
|
|
echo "\n--> should fail (wrong password):\n";
|
|
$rar_file1 = rar_open(dirname(__FILE__).'/encrypted_headers.rar', 'wrongpassword');
|
|
$entries = rar_list($rar_file1);
|
|
|
|
echo "\n--> should work:\n";
|
|
$rar_file2 = rar_open(dirname(__FILE__).'/encrypted_headers.rar', 'samplepassword');
|
|
$entries = rar_list($rar_file2);
|
|
|
|
echo "Found " . count($entries) . " files.\n";
|
|
echo "Content of first one follows:\n";
|
|
//reset($entries)->extract(false, "./temp.txt");
|
|
$stream = reset($entries)->getStream();
|
|
var_dump($stream);
|
|
if ($stream !== FALSE) {
|
|
while (!feof($stream)) {
|
|
echo fread($stream, 128);
|
|
}
|
|
}
|
|
echo "\n";
|
|
|
|
echo "Done\n";
|
|
--EXPECTF--
|
|
--> should fail (no password):
|
|
|
|
Warning: rar_list(): ERAR_MISSING_PASSWORD (password needed but not specified) in %s on line %d
|
|
|
|
--> should fail (wrong password):
|
|
|
|
Warning: rar_list(): ERAR_BAD_DATA in %s on line %d
|
|
|
|
--> should work:
|
|
Found 2 files.
|
|
Content of first one follows:
|
|
resource(%d) of type (stream)
|
|
Encrypted file 1 contents.
|
|
Done
|