bug80863.phpt 851 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. --TEST--
  2. Bug #80863 (ZipArchive::extractTo() ignores references)
  3. --EXTENSIONS--
  4. zip
  5. --FILE--
  6. <?php
  7. $archive = __DIR__ . "/bug80863.zip";
  8. $zip = new ZipArchive();
  9. $zip->open($archive, ZipArchive::CREATE | ZipArchive::OVERWRITE);
  10. $zip->addFromString("file1.txt", "contents");
  11. $zip->addFromString("file2.txt", "contents");
  12. $zip->close();
  13. $target = __DIR__ . "/bug80683";
  14. mkdir($target);
  15. $files = [
  16. "file1.txt",
  17. "file2.txt",
  18. ];
  19. // turn into references
  20. foreach ($files as &$file);
  21. $zip = new ZipArchive();
  22. $zip->open($archive);
  23. $zip->extractTo($target, $files);
  24. var_dump(is_file("$target/file1.txt"));
  25. var_dump(is_file("$target/file2.txt"));
  26. ?>
  27. --EXPECT--
  28. bool(true)
  29. bool(true)
  30. --CLEAN--
  31. <?php
  32. @unlink(__DIR__ . "/bug80863.zip");
  33. $target = __DIR__ . "/bug80683";
  34. @unlink("$target/file1.txt");
  35. @unlink("$target/file2.txt");
  36. @rmdir($target);
  37. ?>