Return to scandir_variation7.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / dir |
1.1 misho 1: --TEST-- 2: Test scandir() function : usage variations - different directory permissions 3: --SKIPIF-- 4: <?php 5: if( substr(PHP_OS, 0, 3) == 'WIN') { 6: die('skip Not for Windows'); 7: } 8: // Skip if being run by root (files are always readable, writeable and executable) 9: $filename = dirname(__FILE__) . "/dir_root_check.tmp"; 10: $fp = fopen($filename, 'w'); 11: fclose($fp); 12: if(fileowner($filename) == 0) { 13: unlink ($filename); 14: die('skip...cannot be run as root\n'); 15: } 16: unlink($filename); 17: ?> 18: --FILE-- 19: <?php 20: /* Prototype : array scandir(string $dir [, int $sorting_order [, resource $context]]) 21: * Description: List files & directories inside the specified path 22: * Source code: ext/standard/dir.c 23: */ 24: 25: /* 26: * Create directories with different permissions to test whether scandir() can access them 27: */ 28: 29: echo "*** Testing scandir() : usage variations ***\n"; 30: 31: // create the temporary directory 32: $dir_path = dirname(__FILE__) . "/scandir_variation7"; 33: mkdir($dir_path); 34: 35: // different values for directory permissions 36: $permission_values = array( 37: /*1*/ 0477, // owner has read only, other and group has rwx 38: 0677, // owner has rw only, other and group has rwx 39: 40: /*3*/ 0444, // all have read only 41: 0666, // all have rw only 42: 43: /*5*/ 0400, // owner has read only, group and others have no permission 44: 0600, // owner has rw only, group and others have no permission 45: 46: /*7*/ 0470, // owner has read only, group has rwx & others have no permission 47: 0407, // owner has read only, other has rwx & group has no permission 48: 49: /*9*/ 0670, // owner has rw only, group has rwx & others have no permission 50: /*10*/ 0607 // owner has rw only, group has no permission and others have rwx 51: ); 52: 53: $iterator = 1; 54: foreach ($permission_values as $perm) { 55: echo "\n-- Iteration $iterator --\n"; 56: 57: // Remove the directory if already exists 58: if (is_dir($dir_path)){ 59: chmod ($dir_path, 0777); // change dir permission to allow all operation 60: rmdir ($dir_path); 61: } 62: mkdir($dir_path); 63: 64: // change the dir permisson to test dir on it 65: var_dump( chmod($dir_path, $perm) ); 66: 67: var_dump(scandir($dir_path)); 68: $iterator++; 69: } 70: ?> 71: ===DONE=== 72: --CLEAN-- 73: <?php 74: $dir_path = dirname(__FILE__) . "/scandir_variation7"; 75: rmdir($dir_path); 76: ?> 77: --EXPECTF-- 78: *** Testing scandir() : usage variations *** 79: 80: -- Iteration 1 -- 81: bool(true) 82: array(2) { 83: [0]=> 84: string(1) "." 85: [1]=> 86: string(2) ".." 87: } 88: 89: -- Iteration 2 -- 90: bool(true) 91: array(2) { 92: [0]=> 93: string(1) "." 94: [1]=> 95: string(2) ".." 96: } 97: 98: -- Iteration 3 -- 99: bool(true) 100: array(2) { 101: [0]=> 102: string(1) "." 103: [1]=> 104: string(2) ".." 105: } 106: 107: -- Iteration 4 -- 108: bool(true) 109: array(2) { 110: [0]=> 111: string(1) "." 112: [1]=> 113: string(2) ".." 114: } 115: 116: -- Iteration 5 -- 117: bool(true) 118: array(2) { 119: [0]=> 120: string(1) "." 121: [1]=> 122: string(2) ".." 123: } 124: 125: -- Iteration 6 -- 126: bool(true) 127: array(2) { 128: [0]=> 129: string(1) "." 130: [1]=> 131: string(2) ".." 132: } 133: 134: -- Iteration 7 -- 135: bool(true) 136: array(2) { 137: [0]=> 138: string(1) "." 139: [1]=> 140: string(2) ".." 141: } 142: 143: -- Iteration 8 -- 144: bool(true) 145: array(2) { 146: [0]=> 147: string(1) "." 148: [1]=> 149: string(2) ".." 150: } 151: 152: -- Iteration 9 -- 153: bool(true) 154: array(2) { 155: [0]=> 156: string(1) "." 157: [1]=> 158: string(2) ".." 159: } 160: 161: -- Iteration 10 -- 162: bool(true) 163: array(2) { 164: [0]=> 165: string(1) "." 166: [1]=> 167: string(2) ".." 168: } 169: ===DONE===