dir_variation9.phpt 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. --TEST--
  2. Test dir() function : usage variations - relative valid and invalid paths
  3. --SKIPIF--
  4. <?php
  5. if (substr(PHP_OS, 0, 3) == 'WIN') {
  6. die('skip.. Not valid for Windows');
  7. }
  8. ?>
  9. --FILE--
  10. <?php
  11. /*
  12. * Checking the behavior of dir() function by passing directories which
  13. * have valid and invalid relative path.
  14. */
  15. echo "*** Testing dir() : checking with valid and invalid paths ***\n";
  16. /* create the temporary directories */
  17. $file_path = __DIR__;
  18. // directory dir_variation91 with one sub-directory sub_dir11 and sub-sub-directory sub_dir111
  19. $dir_path1 = $file_path."/dir_variation91";
  20. $sub_dir11 = $dir_path1."/sub_dir11";
  21. $sub_dir111 = $sub_dir11."/sub_dir111";
  22. // directory dir_variation92 with one sub-directory sub_dir21
  23. $dir_path2 = $file_path."/dir_variation92";
  24. $sub_dir21 = $dir_path2."/sub_dir21";
  25. @mkdir($dir_path1);
  26. @mkdir($dir_path2);
  27. @mkdir($sub_dir11);
  28. @mkdir($sub_dir111);
  29. @mkdir($sub_dir21);
  30. // open the directory with valid paths
  31. echo "\n-- With valid paths --\n";
  32. var_dump( dir("$dir_path1/sub_dir11/sub_dir111/..") );
  33. var_dump( dir("$dir_path2/sub_dir21/../../dir_variation91") );
  34. var_dump( dir("$dir_path2/sub_dir21/../../dir_variation91/sub_dir11/..") );
  35. var_dump( dir("$dir_path1/sub_dir11/sub_dir111/../../../dir_variation92/sub_dir21/..") );
  36. // open the directory with invalid path
  37. echo "\n-- With invalid paths --\n";
  38. var_dump( dir("$dir_path1/sub_dir12/sub_dir111/..") );
  39. var_dump( dir("$dir_path2/sub_dir21/../dir_variation91") );
  40. var_dump( dir("$dir_path2/sub_dir21/../../dir_variation91/sub_dir12/..") );
  41. var_dump( dir("$dir_path1/sub_dir11/sub_dir111/../../dir_variation92/sub_dir21/..") );
  42. echo "Done";
  43. ?>
  44. --CLEAN--
  45. <?php
  46. $file_path = __DIR__;
  47. $dir_path1 = $file_path."/dir_variation91";
  48. $sub_dir11 = $dir_path1."/sub_dir11";
  49. $sub_dir111 = $sub_dir11."/sub_dir111";
  50. $dir_path2 = $file_path."/dir_variation92";
  51. $sub_dir21 = $dir_path2."/sub_dir21";
  52. rmdir($sub_dir21);
  53. rmdir($sub_dir111);
  54. rmdir($sub_dir11);
  55. rmdir($dir_path1);
  56. rmdir($dir_path2);
  57. ?>
  58. --EXPECTF--
  59. *** Testing dir() : checking with valid and invalid paths ***
  60. -- With valid paths --
  61. object(Directory)#%d (2) {
  62. ["path"]=>
  63. string(%d) "%s/dir_variation91/sub_dir11/sub_dir111/.."
  64. ["handle"]=>
  65. resource(%d) of type (stream)
  66. }
  67. object(Directory)#%d (2) {
  68. ["path"]=>
  69. string(%d) "%s/dir_variation92/sub_dir21/../../dir_variation91"
  70. ["handle"]=>
  71. resource(%d) of type (stream)
  72. }
  73. object(Directory)#%d (2) {
  74. ["path"]=>
  75. string(%d) "%s/dir_variation92/sub_dir21/../../dir_variation91/sub_dir11/.."
  76. ["handle"]=>
  77. resource(%d) of type (stream)
  78. }
  79. object(Directory)#%d (2) {
  80. ["path"]=>
  81. string(%d) "%s/dir_variation91/sub_dir11/sub_dir111/../../../dir_variation92/sub_dir21/.."
  82. ["handle"]=>
  83. resource(%d) of type (stream)
  84. }
  85. -- With invalid paths --
  86. Warning: dir(%s/dir_variation91/sub_dir12/sub_dir111/..): Failed to open directory: %s in %s on line %d
  87. bool(false)
  88. Warning: dir(%s/dir_variation92/sub_dir21/../dir_variation91): Failed to open directory: %s in %s on line %d
  89. bool(false)
  90. Warning: dir(%s/dir_variation92/sub_dir21/../../dir_variation91/sub_dir12/..): Failed to open directory: %s in %s on line %d
  91. bool(false)
  92. Warning: dir(%s/dir_variation91/sub_dir11/sub_dir111/../../dir_variation92/sub_dir21/..): Failed to open directory: %s in %s on line %d
  93. bool(false)
  94. Done