scandir_variation4.phpt 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. --TEST--
  2. Test scandir() function : usage variations - different relative paths
  3. --FILE--
  4. <?php
  5. /*
  6. * Test scandir() with relative paths as $dir argument
  7. */
  8. echo "*** Testing scandir() : usage variations ***\n";
  9. // include for create_files/delete_files functions
  10. include (__DIR__ . '/../file/file.inc');
  11. $base_dir_path = __DIR__ . '/scandir_variation4';
  12. @mkdir($base_dir_path);
  13. $level_one_dir_path = "$base_dir_path/level_one";
  14. $level_two_dir_path = "$level_one_dir_path/level_two";
  15. // create directories and files
  16. mkdir($level_one_dir_path);
  17. create_files($level_one_dir_path, 2, 'numeric', 0755, 1, 'w', 'level_one', 1);
  18. mkdir($level_two_dir_path);
  19. create_files($level_two_dir_path, 2, 'numeric', 0755, 1, 'w', 'level_two', 1);
  20. echo "\n-- \$path = './level_one': --\n";
  21. var_dump(chdir($base_dir_path));
  22. var_dump(scandir('./level_one'));
  23. echo "\n-- \$path = 'level_one/level_two': --\n";
  24. var_dump(chdir($base_dir_path));
  25. var_dump(scandir('level_one/level_two'));
  26. echo "\n-- \$path = '..': --\n";
  27. var_dump(chdir($level_two_dir_path));
  28. var_dump(scandir('..'));
  29. echo "\n-- \$path = 'level_two', '.': --\n";
  30. var_dump(chdir($level_two_dir_path));
  31. var_dump(scandir('.'));
  32. echo "\n-- \$path = '../': --\n";
  33. var_dump(chdir($level_two_dir_path));
  34. var_dump(scandir('../'));
  35. echo "\n-- \$path = './': --\n";
  36. var_dump(chdir($level_two_dir_path));
  37. var_dump(scandir('./'));
  38. echo "\n-- \$path = '../../'level_one': --\n";
  39. var_dump(chdir($level_two_dir_path));
  40. var_dump(scandir('../../level_one'));
  41. @delete_files($level_one_dir_path, 2, 'level_one');
  42. @delete_files($level_two_dir_path, 2, 'level_two');
  43. ?>
  44. --CLEAN--
  45. <?php
  46. $base_dir_path = __DIR__ . '/scandir_variation4';
  47. rmdir("$base_dir_path/level_one/level_two");
  48. rmdir("$base_dir_path/level_one");
  49. rmdir($base_dir_path);
  50. ?>
  51. --EXPECT--
  52. *** Testing scandir() : usage variations ***
  53. -- $path = './level_one': --
  54. bool(true)
  55. array(5) {
  56. [0]=>
  57. string(1) "."
  58. [1]=>
  59. string(2) ".."
  60. [2]=>
  61. string(14) "level_one1.tmp"
  62. [3]=>
  63. string(14) "level_one2.tmp"
  64. [4]=>
  65. string(9) "level_two"
  66. }
  67. -- $path = 'level_one/level_two': --
  68. bool(true)
  69. array(4) {
  70. [0]=>
  71. string(1) "."
  72. [1]=>
  73. string(2) ".."
  74. [2]=>
  75. string(14) "level_two1.tmp"
  76. [3]=>
  77. string(14) "level_two2.tmp"
  78. }
  79. -- $path = '..': --
  80. bool(true)
  81. array(5) {
  82. [0]=>
  83. string(1) "."
  84. [1]=>
  85. string(2) ".."
  86. [2]=>
  87. string(14) "level_one1.tmp"
  88. [3]=>
  89. string(14) "level_one2.tmp"
  90. [4]=>
  91. string(9) "level_two"
  92. }
  93. -- $path = 'level_two', '.': --
  94. bool(true)
  95. array(4) {
  96. [0]=>
  97. string(1) "."
  98. [1]=>
  99. string(2) ".."
  100. [2]=>
  101. string(14) "level_two1.tmp"
  102. [3]=>
  103. string(14) "level_two2.tmp"
  104. }
  105. -- $path = '../': --
  106. bool(true)
  107. array(5) {
  108. [0]=>
  109. string(1) "."
  110. [1]=>
  111. string(2) ".."
  112. [2]=>
  113. string(14) "level_one1.tmp"
  114. [3]=>
  115. string(14) "level_one2.tmp"
  116. [4]=>
  117. string(9) "level_two"
  118. }
  119. -- $path = './': --
  120. bool(true)
  121. array(4) {
  122. [0]=>
  123. string(1) "."
  124. [1]=>
  125. string(2) ".."
  126. [2]=>
  127. string(14) "level_two1.tmp"
  128. [3]=>
  129. string(14) "level_two2.tmp"
  130. }
  131. -- $path = '../../'level_one': --
  132. bool(true)
  133. array(5) {
  134. [0]=>
  135. string(1) "."
  136. [1]=>
  137. string(2) ".."
  138. [2]=>
  139. string(14) "level_one1.tmp"
  140. [3]=>
  141. string(14) "level_one2.tmp"
  142. [4]=>
  143. string(9) "level_two"
  144. }