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 = dirname(__FILE__); 23 24$level_one_dir_name = "私はガラスを食べられますlevel_one"; 25$level_one_dir_path = "$base_dir_path/$level_one_dir_name"; 26 27$level_two_dir_name = "私はガラスを食べられますlevel_two"; 28$level_two_dir_path = "$base_dir_path/$level_one_dir_name/$level_two_dir_name"; 29 30// create directories 31mkdir($level_one_dir_path); 32mkdir($level_two_dir_path); 33 34echo "\n-- \$directory = './私はガラスを食べられますlevel_one': --\n"; 35var_dump(chdir($base_dir_path)); 36var_dump(chdir("./$level_one_dir_name")); 37var_dump(getcwd()); 38 39echo "\n-- \$directory = '私はガラスを食べられますlevel_one/私はガラスを食べられますlevel_two': --\n"; 40var_dump(chdir($base_dir_path)); 41var_dump(chdir("$level_one_dir_name/$level_two_dir_name")); 42var_dump(getcwd()); 43 44echo "\n-- \$directory = '..': --\n"; 45var_dump(chdir('..')); 46var_dump(getcwd()); 47 48echo "\n-- \$directory = '私はガラスを食べられますlevel_two', '.': --\n"; 49var_dump(chdir($level_two_dir_path)); 50var_dump(chdir('.')); 51var_dump(getcwd()); 52 53echo "\n-- \$directory = '../': --\n"; 54var_dump(chdir('../')); 55var_dump(getcwd()); 56 57echo "\n-- \$directory = './': --\n"; 58var_dump(chdir($level_two_dir_path)); 59var_dump(chdir('./')); 60var_dump(getcwd()); 61 62echo "\n-- \$directory = '../../'私はガラスを食べられますlevel_one': --\n"; 63var_dump(chdir($level_two_dir_path)); 64var_dump(chdir("../../$level_one_dir_name")); 65var_dump(getcwd()); 66 67$file_path = dirname(__FILE__); 68chdir($file_path);/* not that PWD is accidentialy one of the dirs to be deleted. */ 69rmdir("$file_path/私はガラスを食べられますlevel_one/私はガラスを食べられますlevel_two"); 70rmdir("$file_path/私はガラスを食べられますlevel_one"); 71?> 72===DONE=== 73--CLEAN-- 74<?php 75$file_path = dirname(__FILE__); 76chdir($file_path);/* not that PWD is accidentialy one of the dirs to be deleted. */ 77rmdir("$file_path/私はガラスを食べられますlevel_one/私はガラスを食べられますlevel_two"); 78rmdir("$file_path/私はガラスを食べられますlevel_one"); 79?> 80--EXPECTF-- 81*** Testing chdir() : usage variations *** 82 83-- $directory = './私はガラスを食べられますlevel_one': -- 84bool(true) 85bool(true) 86string(%d) "%slevel_one" 87 88-- $directory = '私はガラスを食べられますlevel_one/私はガラスを食べられますlevel_two': -- 89bool(true) 90bool(true) 91string(%d) "%s私はガラスを食べられますlevel_one%e私はガラスを食べられますlevel_two" 92 93-- $directory = '..': -- 94bool(true) 95string(%d) "%s私はガラスを食べられますlevel_one" 96 97-- $directory = '私はガラスを食べられますlevel_two', '.': -- 98bool(true) 99bool(true) 100string(%d) "%s私はガラスを食べられますlevel_one%e私はガラスを食べられますlevel_two" 101 102-- $directory = '../': -- 103bool(true) 104string(%d) "%slevel_one" 105 106-- $directory = './': -- 107bool(true) 108bool(true) 109string(%d) "%s私はガラスを食べられますlevel_one%e私はガラスを食べられますlevel_two" 110 111-- $directory = '../../'私はガラスを食べられますlevel_one': -- 112bool(true) 113bool(true) 114string(%d) "%s私はガラスを食べられますlevel_one" 115===DONE=== 116