oo_addpattern.phpt 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. --TEST--
  2. ZipArchive::addPattern() method
  3. --CREDITS--
  4. Sammy Kaye Powers <sammyk@sammykmedia.com>
  5. w/Kenzo over the shoulder
  6. #phptek Chicago 2014
  7. --SKIPIF--
  8. <?php
  9. if(!extension_loaded('zip')) die('skip');
  10. ?>
  11. --FILE--
  12. <?php
  13. $dirname = dirname(__FILE__) . '/';
  14. include $dirname . 'utils.inc';
  15. $file = $dirname . '__tmp_oo_addpattern.zip';
  16. copy($dirname . 'test.zip', $file);
  17. touch($dirname . 'foo.txt');
  18. touch($dirname . 'bar.txt');
  19. $zip = new ZipArchive();
  20. if (!$zip->open($file)) {
  21. exit('failed');
  22. }
  23. $dir = realpath($dirname);
  24. $options = array('add_path' => 'baz/', 'remove_path' => $dir);
  25. if (!$zip->addPattern('/\.txt$/', $dir, $options)) {
  26. echo "failed\n";
  27. }
  28. if ($zip->status == ZIPARCHIVE::ER_OK) {
  29. dump_entries_name($zip);
  30. $zip->close();
  31. } else {
  32. echo "failed\n";
  33. }
  34. ?>
  35. --CLEAN--
  36. <?php
  37. $dirname = dirname(__FILE__) . '/';
  38. unlink($dirname . '__tmp_oo_addpattern.zip');
  39. unlink($dirname . 'foo.txt');
  40. unlink($dirname . 'bar.txt');
  41. ?>
  42. --EXPECT--
  43. 0 bar
  44. 1 foobar/
  45. 2 foobar/baz
  46. 3 entry1.txt
  47. 4 baz/bar.txt
  48. 5 baz/foo.txt