022.phpt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. --TEST--
  2. Phar: stream stat
  3. --EXTENSIONS--
  4. phar
  5. --INI--
  6. phar.require_hash=0
  7. --FILE--
  8. <?php
  9. $fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.php';
  10. $pname = 'phar://' . $fname;
  11. $file = "<?php
  12. Phar::mapPhar('hio');
  13. __HALT_COMPILER(); ?>";
  14. $files = array();
  15. $files['a'] = 'abcdefg';
  16. include 'files/phar_test.inc';
  17. include $fname;
  18. $fp = fopen('phar://hio/a', 'r');
  19. var_dump(ftell($fp));
  20. echo 'fseek($fp, 1)';var_dump(fseek($fp, 1));
  21. var_dump(ftell($fp));
  22. echo 'fseek($fp, 1, SEEK_CUR)';var_dump(fseek($fp, 1, SEEK_CUR));
  23. var_dump(ftell($fp));
  24. echo 'fseek($fp, -1, SEEK_CUR)';var_dump(fseek($fp, -1, SEEK_CUR));
  25. var_dump(ftell($fp));
  26. echo 'fseek($fp, -1, SEEK_END)';var_dump(fseek($fp, -1, SEEK_END));
  27. var_dump(ftell($fp));
  28. echo 'fseek($fp, -8, SEEK_END)';var_dump(fseek($fp, -8, SEEK_END));
  29. var_dump(ftell($fp));
  30. echo 'fseek($fp, -7, SEEK_END)';var_dump(fseek($fp, -7, SEEK_END));
  31. var_dump(ftell($fp));
  32. echo 'fseek($fp, 0, SEEK_END)';var_dump(fseek($fp, 0, SEEK_END));
  33. var_dump(ftell($fp));
  34. echo 'fseek($fp, 1, SEEK_END)';var_dump(fseek($fp, 1, SEEK_END));
  35. var_dump(ftell($fp));
  36. echo 'fseek($fp, -8, SEEK_END)';var_dump(fseek($fp, -8, SEEK_END));
  37. var_dump(ftell($fp));
  38. echo 'fseek($fp, 6)';var_dump(fseek($fp, 6));
  39. var_dump(ftell($fp));
  40. echo 'fseek($fp, 8)';var_dump(fseek($fp, 8));
  41. var_dump(ftell($fp));
  42. echo 'fseek($fp, -1)';var_dump(fseek($fp, -1));
  43. var_dump(ftell($fp));
  44. echo "next\n";
  45. fseek($fp, 4);
  46. var_dump(ftell($fp));
  47. echo 'fseek($fp, -5, SEEK_CUR)';var_dump(fseek($fp, -5, SEEK_CUR));
  48. var_dump(ftell($fp));
  49. fseek($fp, 4);
  50. var_dump(ftell($fp));
  51. echo 'fseek($fp, 5, SEEK_CUR)';var_dump(fseek($fp, 5, SEEK_CUR));
  52. var_dump(ftell($fp));
  53. fseek($fp, 4);
  54. var_dump(ftell($fp));
  55. echo 'fseek($fp, -4, SEEK_CUR)';var_dump(fseek($fp, -4, SEEK_CUR));
  56. var_dump(ftell($fp));
  57. fseek($fp, 4);
  58. var_dump(ftell($fp));
  59. echo 'fseek($fp, 3, SEEK_CUR)';var_dump(fseek($fp, 3, SEEK_CUR));
  60. var_dump(ftell($fp));
  61. fclose($fp);
  62. ?>
  63. --CLEAN--
  64. <?php
  65. unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.php');
  66. exit(0);
  67. ?>
  68. --EXPECT--
  69. int(0)
  70. fseek($fp, 1)int(0)
  71. int(1)
  72. fseek($fp, 1, SEEK_CUR)int(0)
  73. int(2)
  74. fseek($fp, -1, SEEK_CUR)int(0)
  75. int(1)
  76. fseek($fp, -1, SEEK_END)int(0)
  77. int(6)
  78. fseek($fp, -8, SEEK_END)int(-1)
  79. bool(false)
  80. fseek($fp, -7, SEEK_END)int(0)
  81. int(0)
  82. fseek($fp, 0, SEEK_END)int(0)
  83. int(7)
  84. fseek($fp, 1, SEEK_END)int(-1)
  85. bool(false)
  86. fseek($fp, -8, SEEK_END)int(-1)
  87. bool(false)
  88. fseek($fp, 6)int(0)
  89. int(6)
  90. fseek($fp, 8)int(-1)
  91. bool(false)
  92. fseek($fp, -1)int(-1)
  93. bool(false)
  94. next
  95. int(4)
  96. fseek($fp, -5, SEEK_CUR)int(-1)
  97. bool(false)
  98. int(4)
  99. fseek($fp, 5, SEEK_CUR)int(-1)
  100. bool(false)
  101. int(4)
  102. fseek($fp, -4, SEEK_CUR)int(0)
  103. int(0)
  104. int(4)
  105. fseek($fp, 3, SEEK_CUR)int(0)
  106. int(7)