Merge branch 'PHP-7.1'

* PHP-7.1:
  Fix #70103: ZipArchive::addGlob ignores remove_all_path option
  news entry for PR #1430
This commit is contained in:
Joe Watkins 2017-01-06 05:41:00 +00:00
commit 1db0569514
No known key found for this signature in database
GPG Key ID: F9BA0ADA31CBD89E
3 changed files with 39 additions and 2 deletions

3
NEWS
View File

@ -103,4 +103,7 @@ PHP NEWS
- XMLRPC:
. Use Zend MM for allocation in bundled libxmlrpc (Joe)
- ZIP:
. Fixed bug #70103 (ZipArchive::addGlob ignores remove_all_path option). (cmb)
<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>

View File

@ -1704,8 +1704,8 @@ static void php_zip_add_from_pattern(INTERNAL_FUNCTION_PARAMETERS, int type) /*
entry_name = entry_name_buf;
entry_name_len = strlen(entry_name);
} else {
entry_name = Z_STRVAL_P(zval_file);
entry_name_len = Z_STRLEN_P(zval_file);
entry_name = file_stripped;
entry_name_len = file_stripped_len;
}
if (basename) {
zend_string_release(basename);

View File

@ -0,0 +1,34 @@
--TEST--
Bug #70103 (ZipArchive::addGlob ignores remove_all_path option)
--SKIPIF--
<?php
if (!extension_loaded('zip')) die('skip zip support not available');
?>
--FILE--
<?php
$dir = __DIR__ . '/bug70103';
mkdir($dir); chmod($dir, 0777);
file_put_contents($dir . '/foo.txt', 'foo');
$zip = new ZipArchive();
$zip->open($dir . '/test.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
$zip->addGlob($dir . '/*.txt', GLOB_NOSORT, array('remove_all_path' => true));
$zip->close();
$zip = new ZipArchive();
$zip->open($dir . '/test.zip');
var_dump($zip->numFiles);
var_dump($zip->getNameIndex(0));
$zip->close();
?>
--CLEAN--
<?php
$dir = __DIR__ . '/bug70103';
unlink($dir . '/foo.txt');
unlink($dir . '/test.zip');
rmdir($dir);
?>
--EXPECT--
int(1)
string(7) "foo.txt"