php-src/ext/zip/tests/oo_extract.phpt
Pierre Joye 945f4cdfc4 - initial unicode support
. entry names will be converted to ascii. zip works with cp437
   when 7zip support will be added, unicode string will be supported
 . path and filenames are now encoded using php_stream_path_param_encode
   if the filename/path is used as entry name, it is converted to ascii
 . the stream (getStream and zip://) needs some tweak. I'm not sure if it
   should return unicode or binary, neither how to change the default. For
   now it returns unicode (seems to be the default :)
comments/suggestions welcome
2006-10-31 14:27:09 +00:00

96 lines
1.9 KiB
PHP

--TEST--
extractTo
--SKIPIF--
<?php
/* $Id$ */
if(!extension_loaded('zip')) die('skip');
?>
--FILE--
<?php
$dirname = dirname(__FILE__) . '/';
$file = $dirname . 'test_with_comment.zip';
include $dirname . 'utils.inc';
$zip = new ZipArchive;
if ($zip->open($file) !== TRUE) {
echo "open failed.\n";
exit('failed');
}
$zip->extractTo($dirname . '__oo_extract_tmp');
if (!is_dir($dirname . '__oo_extract_tmp')) {
echo "failed. mkdir\n";
}
if (!is_dir($dirname .'__oo_extract_tmp/foobar')) {
echo "failed. mkdir foobar\n";
}
if (!file_exists($dirname . '__oo_extract_tmp/foobar/baz')) {
echo "failed. extract foobar/baz\n";
} else {
echo file_get_contents($dirname . '__oo_extract_tmp/foobar/baz') . "\n";
}
if (!file_exists($dirname . '__oo_extract_tmp/bar')) {
echo "failed. bar file\n";
} else {
echo file_get_contents($dirname . '__oo_extract_tmp/bar') . "\n";
}
if (!file_exists($dirname . '__oo_extract_tmp/foo')) {
echo "failed. foo file\n";
} else {
echo file_get_contents($dirname . '__oo_extract_tmp/foo') . "\n";
}
/* extract one file */
$zip->extractTo($dirname . '__oo_extract_tmp', 'bar');
if (!file_exists($dirname . '__oo_extract_tmp/bar')) {
echo "failed. extract bar file\n";
} else {
echo file_get_contents($dirname . '__oo_extract_tmp/bar') . "\n";
}
/* extract two files */
$zip->extractTo($dirname . '__oo_extract_tmp', array('bar','foo'));
if (!file_exists($dirname . '__oo_extract_tmp/bar')) {
echo "failed. extract bar file\n";
} else {
echo file_get_contents($dirname . '__oo_extract_tmp/bar') . "\n";
}
if (!file_exists($dirname . '__oo_extract_tmp/foo')) {
echo "failed. extract foo file\n";
} else {
echo file_get_contents($dirname . '__oo_extract_tmp/foo') . "\n";
}
rmdir_rf($dirname . '__oo_extract_tmp');
?>
--EXPECTF--
blabla laber rababer sülz
bar
foo
bar
bar
foo
--UEXPECTF--
blabla laber rababer sülz
bar
foo
bar
bar
foo