1--TEST-- 2Test chdir() function : usage variations - relative paths 3--SKIPIF-- 4<?php 5if (substr(PHP_OS, 0, 3) != 'WIN') { 6 die("skip Valid only on Windows"); 7} 8?> 9--FILE-- 10<?php 11/* Prototype : bool chdir(string $directory) 12 * Description: Change the current directory 13 * Source code: ext/standard/dir.c 14 */ 15 16/* 17 * Test chdir() with variations of relative paths 18 */ 19 20echo "*** Testing chdir() : usage variations ***\n"; 21 22$base_dir_path = __DIR__ . '/chdir_variation2-win32-mb'; 23@mkdir($base_dir_path); 24 25$level_one_dir_name = "私はガラスを食べられますlevel_one"; 26$level_one_dir_path = "$base_dir_path/$level_one_dir_name"; 27 28$level_two_dir_name = "私はガラスを食べられますlevel_two"; 29$level_two_dir_path = "$base_dir_path/$level_one_dir_name/$level_two_dir_name"; 30 31// create directories 32mkdir($level_one_dir_path); 33mkdir($level_two_dir_path); 34 35echo "\n-- \$directory = './私はガラスを食べられますlevel_one': --\n"; 36var_dump(chdir($base_dir_path)); 37var_dump(chdir("./$level_one_dir_name")); 38var_dump(getcwd()); 39 40echo "\n-- \$directory = '私はガラスを食べられますlevel_one/私はガラスを食べられますlevel_two': --\n"; 41var_dump(chdir($base_dir_path)); 42var_dump(chdir("$level_one_dir_name/$level_two_dir_name")); 43var_dump(getcwd()); 44 45echo "\n-- \$directory = '..': --\n"; 46var_dump(chdir('..')); 47var_dump(getcwd()); 48 49echo "\n-- \$directory = '私はガラスを食べられますlevel_two', '.': --\n"; 50var_dump(chdir($level_two_dir_path)); 51var_dump(chdir('.')); 52var_dump(getcwd()); 53 54echo "\n-- \$directory = '../': --\n"; 55var_dump(chdir('../')); 56var_dump(getcwd()); 57 58echo "\n-- \$directory = './': --\n"; 59var_dump(chdir($level_two_dir_path)); 60var_dump(chdir('./')); 61var_dump(getcwd()); 62 63echo "\n-- \$directory = '../../'私はガラスを食べられますlevel_one': --\n"; 64var_dump(chdir($level_two_dir_path)); 65var_dump(chdir("../../$level_one_dir_name")); 66var_dump(getcwd()); 67?> 68===DONE=== 69--CLEAN-- 70<?php 71$base_dir_path = __DIR__ . '/chdir_variation2-win32-mb'; 72chdir(__DIR__); /* not that PWD is accidentialy one of the dirs to be deleted. */ 73rmdir("$base_dir_path/私はガラスを食べられますlevel_one/私はガラスを食べられますlevel_two"); 74rmdir("$base_dir_path/私はガラスを食べられますlevel_one"); 75rmdir($base_dir_path); 76?> 77--EXPECTF-- 78*** Testing chdir() : usage variations *** 79 80-- $directory = './私はガラスを食べられますlevel_one': -- 81bool(true) 82bool(true) 83string(%d) "%slevel_one" 84 85-- $directory = '私はガラスを食べられますlevel_one/私はガラスを食べられますlevel_two': -- 86bool(true) 87bool(true) 88string(%d) "%s私はガラスを食べられますlevel_one%e私はガラスを食べられますlevel_two" 89 90-- $directory = '..': -- 91bool(true) 92string(%d) "%s私はガラスを食べられますlevel_one" 93 94-- $directory = '私はガラスを食べられますlevel_two', '.': -- 95bool(true) 96bool(true) 97string(%d) "%s私はガラスを食べられますlevel_one%e私はガラスを食べられますlevel_two" 98 99-- $directory = '../': -- 100bool(true) 101string(%d) "%slevel_one" 102 103-- $directory = './': -- 104bool(true) 105bool(true) 106string(%d) "%s私はガラスを食べられますlevel_one%e私はガラスを食べられますlevel_two" 107 108-- $directory = '../../'私はガラスを食べられますlevel_one': -- 109bool(true) 110bool(true) 111string(%d) "%s私はガラスを食べられますlevel_one" 112===DONE=== 113