1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
--TEST--
getStream and seek
--EXTENSIONS--
zip
--SKIPIF--
<?php
if(version_compare(ZipArchive::LIBZIP_VERSION, '1.9.1', '<')) die('skip libzip < 1.9.1');
?>
--FILE--
<?php
var_dump(ZipArchive::LIBZIP_VERSION);
$file = __DIR__ . '/test.zip';
$zip = new ZipArchive;
if (!$zip->open($file)) {
exit('failed');
}
echo "+ ZipArchive::getStream\n";
$fp = $zip->getStream('bar');
if(!$fp) exit("\n");
var_dump($fp);
var_dump(fseek($fp, 1, SEEK_SET));
var_dump(fread($fp, 2));
var_dump(ftell($fp));
var_dump(fseek($fp, 0, SEEK_SET));
var_dump(fread($fp, 2));
var_dump(ftell($fp));
fclose($fp);
echo "+ ZipArchive::getStream no supported\n";
$fp = $zip->getStream('entry1.txt');
if(!$fp) exit("\n");
var_dump($fp);
var_dump(fseek($fp, 2, SEEK_SET));
var_dump(fread($fp, 2));
fclose($fp);
$zip->close();
echo "+ Zip Stream\n";
$fp = fopen('zip://' . __DIR__ . '/test.zip#bar', 'rb');
if(!$fp) exit("\n");
var_dump($fp);
var_dump(fseek($fp, 1, SEEK_SET));
var_dump(fread($fp, 2));
var_dump(ftell($fp));
var_dump(fseek($fp, 0, SEEK_SET));
var_dump(fread($fp, 2));
var_dump(ftell($fp));
fclose($fp);
?>
--EXPECTF--
string(%d) "%s"
+ ZipArchive::getStream
resource(%d) of type (stream)
int(0)
string(2) "ar"
int(3)
int(0)
string(2) "ba"
int(2)
+ ZipArchive::getStream no supported
resource(%d) of type (stream)
Warning: fseek(): %s does not support seeking in %s
int(-1)
string(2) "en"
+ Zip Stream
resource(%d) of type (stream)
int(0)
string(2) "ar"
int(3)
int(0)
string(2) "ba"
int(2)
|