oo_externalattributes.phpt 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. --TEST--
  2. ZipArchive::*ExternalAttributes*() function
  3. --EXTENSIONS--
  4. zip
  5. --FILE--
  6. <?php
  7. $name = __DIR__ . '/withattr.zip';
  8. echo "== Set\n";
  9. $zip = new ZipArchive;
  10. $r = $zip->open($name, ZIPARCHIVE::CREATE);
  11. $zip->addFromString('foo.txt', 'foo');
  12. $zip->addFromString('bar.txt', 'bar');
  13. var_dump($zip->setExternalAttributesName('foo.txt', ZipArchive::OPSYS_UNIX, 123));
  14. $id = $zip->locateName('bar.txt');
  15. var_dump($zip->setExternalAttributesIndex($id, ZipArchive::OPSYS_VFAT, 234));
  16. $zip->close();
  17. echo "== Get\n";
  18. $r = $zip->open($name);
  19. var_dump($zip->getExternalAttributesName('foo.txt', $a, $b), $a, $b);
  20. $id = $zip->locateName('bar.txt');
  21. var_dump($zip->getExternalAttributesIndex($id, $a, $b), $a, $b);
  22. echo "== Set\n";
  23. var_dump($zip->setExternalAttributesName('foo.txt', ZipArchive::OPSYS_DOS, 345));
  24. var_dump($zip->setExternalAttributesIndex($id, ZipArchive::OPSYS_AMIGA, 456));
  25. echo "== Get changed\n";
  26. var_dump($zip->getExternalAttributesName('foo.txt', $a, $b), $a, $b);
  27. var_dump($zip->getExternalAttributesIndex($id, $a, $b), $a, $b);
  28. echo "== Get unchanged\n";
  29. var_dump($zip->getExternalAttributesName('foo.txt', $a, $b, ZipArchive::FL_UNCHANGED), $a, $b);
  30. var_dump($zip->getExternalAttributesIndex($id, $a, $b, ZipArchive::FL_UNCHANGED), $a, $b);
  31. $zip->close();
  32. ?>
  33. == Done
  34. --CLEAN--
  35. <?php
  36. $name = __DIR__ . '/withattr.zip';
  37. @unlink($name);
  38. ?>
  39. --EXPECT--
  40. == Set
  41. bool(true)
  42. bool(true)
  43. == Get
  44. bool(true)
  45. int(3)
  46. int(123)
  47. bool(true)
  48. int(14)
  49. int(234)
  50. == Set
  51. bool(true)
  52. bool(true)
  53. == Get changed
  54. bool(true)
  55. int(0)
  56. int(345)
  57. bool(true)
  58. int(1)
  59. int(456)
  60. == Get unchanged
  61. bool(true)
  62. int(3)
  63. int(123)
  64. bool(true)
  65. int(14)
  66. int(234)
  67. == Done