chdir_variation2.phpt 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. --TEST--
  2. Test chdir() function : usage variations - relative paths
  3. --FILE--
  4. <?php
  5. /* Prototype : bool chdir(string $directory)
  6. * Description: Change the current directory
  7. * Source code: ext/standard/dir.c
  8. */
  9. /*
  10. * Test chdir() with variations of relative paths
  11. */
  12. echo "*** Testing chdir() : usage variations ***\n";
  13. $base_dir_path = dirname(__FILE__);
  14. $level2_one_dir_name = "level2_one";
  15. $level2_one_dir_path = "$base_dir_path/$level2_one_dir_name";
  16. $level2_two_dir_name = "level2_two";
  17. $level2_two_dir_path = "$base_dir_path/$level2_one_dir_name/$level2_two_dir_name";
  18. // create directories
  19. mkdir($level2_one_dir_path);
  20. mkdir($level2_two_dir_path);
  21. echo "\n-- \$directory = './level2_one': --\n";
  22. var_dump(chdir($base_dir_path));
  23. var_dump(chdir("./$level2_one_dir_name"));
  24. var_dump(getcwd());
  25. echo "\n-- \$directory = 'level2_one/level2_two': --\n";
  26. var_dump(chdir($base_dir_path));
  27. var_dump(chdir("$level2_one_dir_name/$level2_two_dir_name"));
  28. var_dump(getcwd());
  29. echo "\n-- \$directory = '..': --\n";
  30. var_dump(chdir('..'));
  31. var_dump(getcwd());
  32. echo "\n-- \$directory = 'level2_two', '.': --\n";
  33. var_dump(chdir($level2_two_dir_path));
  34. var_dump(chdir('.'));
  35. var_dump(getcwd());
  36. echo "\n-- \$directory = '../': --\n";
  37. var_dump(chdir('../'));
  38. var_dump(getcwd());
  39. echo "\n-- \$directory = './': --\n";
  40. var_dump(chdir($level2_two_dir_path));
  41. var_dump(chdir('./'));
  42. var_dump(getcwd());
  43. echo "\n-- \$directory = '../../'level2_one': --\n";
  44. var_dump(chdir($level2_two_dir_path));
  45. var_dump(chdir("../../$level2_one_dir_name"));
  46. var_dump(getcwd());
  47. ?>
  48. ===DONE===
  49. --CLEAN--
  50. <?php
  51. $file_path = dirname(__FILE__);
  52. rmdir("$file_path/level2_one/level2_two");
  53. rmdir("$file_path/level2_one");
  54. ?>
  55. --EXPECTF--
  56. *** Testing chdir() : usage variations ***
  57. -- $directory = './level2_one': --
  58. bool(true)
  59. bool(true)
  60. string(%d) "%slevel2_one"
  61. -- $directory = 'level2_one/level2_two': --
  62. bool(true)
  63. bool(true)
  64. string(%d) "%slevel2_one%elevel2_two"
  65. -- $directory = '..': --
  66. bool(true)
  67. string(%d) "%slevel2_one"
  68. -- $directory = 'level2_two', '.': --
  69. bool(true)
  70. bool(true)
  71. string(%d) "%slevel2_one%elevel2_two"
  72. -- $directory = '../': --
  73. bool(true)
  74. string(%d) "%slevel2_one"
  75. -- $directory = './': --
  76. bool(true)
  77. bool(true)
  78. string(%d) "%slevel2_one%elevel2_two"
  79. -- $directory = '../../'level2_one': --
  80. bool(true)
  81. bool(true)
  82. string(%d) "%slevel2_one"
  83. ===DONE===