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
|
--TEST--
ZipArchive::getStreamIndex / ZipArchive::getName
--EXTENSIONS--
zip
--FILE--
<?php
$name = __DIR__ . '/getstream.zip';
$zip = new ZipArchive;
$r = $zip->open($name, ZIPARCHIVE::CREATE);
$zip->addFromString('foo.txt', 'foo');
$zip->addFromString('bar.txt', 'bar');
$zip->close();
$r = $zip->open($name);
$zip->addFromString('bar.txt', 'baz', ZipArchive::FL_OVERWRITE);
echo "== Name\n";
$fp = $zip->getStreamName('foo.txt');
var_dump($zip->status);
var_dump(stream_get_contents($fp));
$zip->clearError();
fclose($fp);
echo "== Index\n";
$fp = $zip->getStreamIndex(0);
var_dump($zip->status);
var_dump(stream_get_contents($fp));
$zip->clearError();
fclose($fp);
echo "== Index, changed\n";
$fp = $zip->getStreamIndex(1);
if (version_compare(ZipArchive::LIBZIP_VERSION, "1.10.0", "<")) {
/* not supported in old version */
var_dump($zip->status === ZipArchive::ER_CHANGED);
} else {
var_dump($zip->status === 0 && stream_get_contents($fp) === "baz");
}
$zip->clearError();
echo "== Index, unchanged\n";
$fp = $zip->getStreamIndex(1, ZipArchive::FL_UNCHANGED);
var_dump($zip->status === 0 && stream_get_contents($fp) === "bar");
$zip->clearError();
fclose($fp);
$zip->close();
?>
== Done
--CLEAN--
<?php
$name = __DIR__ . '/getstream.zip';
@unlink($name);
?>
--EXPECTF--
== Name
int(0)
string(3) "foo"
== Index
int(0)
string(3) "foo"
== Index, changed
bool(true)
== Index, unchanged
bool(true)
== Done
|