Return to pathinfo_basic.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
1.1 misho 1: --TEST-- 2: Test pathinfo() function: basic functionality 3: --FILE-- 4: <?php 5: /* Prototype: mixed pathinfo ( string $path [, int $options] ); 6: Description: Returns information about a file path 7: */ 8: 9: echo "*** Testing basic functions of pathinfo() ***\n"; 10: 11: $file_path = dirname(__FILE__); 12: 13: $paths = array ( 14: /* Testing basic file notation */ 15: "$file_path/foo/symlink.link", 16: "www.example.co.in", 17: "/var/www/html/example.html", 18: "/dir/test.tar.gz", 19: 20: /* Testing a file with trailing slash */ 21: "$file_path/foo/symlink.link/", 22: 23: /* Testing file with double slashes */ 24: "$file_path/foo//symlink.link", 25: "$file_path/foo//symlink.link", 26: "$file_path/foo//symlink.link//", 27: 28: /* Testing file with trailing double slashes */ 29: "$file_path/foo/symlink.link//", 30: 31: /* Testing Binary safe files */ 32: "$file_path/foo".chr(47)."symlink.link", 33: "$file_path".chr(47)."foo/symlink.link", 34: "$file_path".chr(47)."foo".chr(47)."symlink.link", 35: b"$file_path/foo/symlink.link", 36: 37: /* Testing directories */ 38: ".", // current directory 39: "$file_path/foo/", 40: "$file_path/foo//", 41: "$file_path/../foo/", 42: "../foo/bar", 43: "./foo/bar", 44: "//foo//bar//", 45: 46: /* Testing with homedir notation */ 47: "~/PHP/php5.2.0/", 48: 49: /* Testing normal directory notation */ 50: "/home/example/test/", 51: "http://httpd.apache.org/core.html#acceptpathinfo" 52: ); 53: 54: $counter = 1; 55: /* loop through $paths to test each $path in the above array */ 56: foreach($paths as $path) { 57: echo "-- Iteration $counter --\n"; 58: var_dump( pathinfo($path, PATHINFO_DIRNAME) ); 59: var_dump( pathinfo($path, PATHINFO_BASENAME) ); 60: var_dump( pathinfo($path, PATHINFO_EXTENSION) ); 61: var_dump( pathinfo($path, PATHINFO_FILENAME) ); 62: var_dump( pathinfo($path) ); 63: $counter++; 64: } 65: 66: echo "Done\n"; 67: ?> 68: --EXPECTF-- 69: *** Testing basic functions of pathinfo() *** 70: -- Iteration 1 -- 71: %unicode|string%(%d) "%s/foo" 72: %unicode|string%(12) "symlink.link" 73: %unicode|string%(4) "link" 74: %unicode|string%(7) "symlink" 75: array(4) { 76: [%u|b%"dirname"]=> 77: %unicode|string%(%d) "%s/foo" 78: [%u|b%"basename"]=> 79: %unicode|string%(12) "symlink.link" 80: [%u|b%"extension"]=> 81: %unicode|string%(4) "link" 82: [%u|b%"filename"]=> 83: %unicode|string%(7) "symlink" 84: } 85: -- Iteration 2 -- 86: %unicode|string%(1) "." 87: %unicode|string%(17) "www.example.co.in" 88: %unicode|string%(2) "in" 89: %unicode|string%(14) "www.example.co" 90: array(4) { 91: [%u|b%"dirname"]=> 92: %unicode|string%(1) "." 93: [%u|b%"basename"]=> 94: %unicode|string%(17) "www.example.co.in" 95: [%u|b%"extension"]=> 96: %unicode|string%(2) "in" 97: [%u|b%"filename"]=> 98: %unicode|string%(14) "www.example.co" 99: } 100: -- Iteration 3 -- 101: %unicode|string%(13) "/var/www/html" 102: %unicode|string%(12) "example.html" 103: %unicode|string%(4) "html" 104: %unicode|string%(7) "example" 105: array(4) { 106: [%u|b%"dirname"]=> 107: %unicode|string%(13) "/var/www/html" 108: [%u|b%"basename"]=> 109: %unicode|string%(12) "example.html" 110: [%u|b%"extension"]=> 111: %unicode|string%(4) "html" 112: [%u|b%"filename"]=> 113: %unicode|string%(7) "example" 114: } 115: -- Iteration 4 -- 116: %unicode|string%(4) "/dir" 117: %unicode|string%(11) "test.tar.gz" 118: %unicode|string%(2) "gz" 119: %unicode|string%(8) "test.tar" 120: array(4) { 121: [%u|b%"dirname"]=> 122: %unicode|string%(4) "/dir" 123: [%u|b%"basename"]=> 124: %unicode|string%(11) "test.tar.gz" 125: [%u|b%"extension"]=> 126: %unicode|string%(2) "gz" 127: [%u|b%"filename"]=> 128: %unicode|string%(8) "test.tar" 129: } 130: -- Iteration 5 -- 131: %unicode|string%(%d) "%s/foo" 132: %unicode|string%(12) "symlink.link" 133: %unicode|string%(4) "link" 134: %unicode|string%(7) "symlink" 135: array(4) { 136: [%u|b%"dirname"]=> 137: %unicode|string%(%d) "%s/foo" 138: [%u|b%"basename"]=> 139: %unicode|string%(12) "symlink.link" 140: [%u|b%"extension"]=> 141: %unicode|string%(4) "link" 142: [%u|b%"filename"]=> 143: %unicode|string%(7) "symlink" 144: } 145: -- Iteration 6 -- 146: %unicode|string%(%d) "%s/foo" 147: %unicode|string%(12) "symlink.link" 148: %unicode|string%(4) "link" 149: %unicode|string%(7) "symlink" 150: array(4) { 151: [%u|b%"dirname"]=> 152: %unicode|string%(%d) "%s/foo" 153: [%u|b%"basename"]=> 154: %unicode|string%(12) "symlink.link" 155: [%u|b%"extension"]=> 156: %unicode|string%(4) "link" 157: [%u|b%"filename"]=> 158: %unicode|string%(7) "symlink" 159: } 160: -- Iteration 7 -- 161: %unicode|string%(%d) "%s/foo" 162: %unicode|string%(12) "symlink.link" 163: %unicode|string%(4) "link" 164: %unicode|string%(7) "symlink" 165: array(4) { 166: [%u|b%"dirname"]=> 167: %unicode|string%(%d) "%s/foo" 168: [%u|b%"basename"]=> 169: %unicode|string%(12) "symlink.link" 170: [%u|b%"extension"]=> 171: %unicode|string%(4) "link" 172: [%u|b%"filename"]=> 173: %unicode|string%(7) "symlink" 174: } 175: -- Iteration 8 -- 176: %unicode|string%(%d) "%s/foo" 177: %unicode|string%(12) "symlink.link" 178: %unicode|string%(4) "link" 179: %unicode|string%(7) "symlink" 180: array(4) { 181: [%u|b%"dirname"]=> 182: %unicode|string%(%d) "%s/foo" 183: [%u|b%"basename"]=> 184: %unicode|string%(12) "symlink.link" 185: [%u|b%"extension"]=> 186: %unicode|string%(4) "link" 187: [%u|b%"filename"]=> 188: %unicode|string%(7) "symlink" 189: } 190: -- Iteration 9 -- 191: %unicode|string%(%d) "%s/foo" 192: %unicode|string%(12) "symlink.link" 193: %unicode|string%(4) "link" 194: %unicode|string%(7) "symlink" 195: array(4) { 196: [%u|b%"dirname"]=> 197: %unicode|string%(%d) "%s/foo" 198: [%u|b%"basename"]=> 199: %unicode|string%(12) "symlink.link" 200: [%u|b%"extension"]=> 201: %unicode|string%(4) "link" 202: [%u|b%"filename"]=> 203: %unicode|string%(7) "symlink" 204: } 205: -- Iteration 10 -- 206: %unicode|string%(%d) "%s/foo" 207: %unicode|string%(12) "symlink.link" 208: %unicode|string%(4) "link" 209: %unicode|string%(7) "symlink" 210: array(4) { 211: [%u|b%"dirname"]=> 212: %unicode|string%(%d) "%s/foo" 213: [%u|b%"basename"]=> 214: %unicode|string%(12) "symlink.link" 215: [%u|b%"extension"]=> 216: %unicode|string%(4) "link" 217: [%u|b%"filename"]=> 218: %unicode|string%(7) "symlink" 219: } 220: -- Iteration 11 -- 221: %unicode|string%(%d) "%s/foo" 222: %unicode|string%(12) "symlink.link" 223: %unicode|string%(4) "link" 224: %unicode|string%(7) "symlink" 225: array(4) { 226: [%u|b%"dirname"]=> 227: %unicode|string%(%d) "%s/foo" 228: [%u|b%"basename"]=> 229: %unicode|string%(12) "symlink.link" 230: [%u|b%"extension"]=> 231: %unicode|string%(4) "link" 232: [%u|b%"filename"]=> 233: %unicode|string%(7) "symlink" 234: } 235: -- Iteration 12 -- 236: %unicode|string%(%d) "%s/foo" 237: %unicode|string%(12) "symlink.link" 238: %unicode|string%(4) "link" 239: %unicode|string%(7) "symlink" 240: array(4) { 241: [%u|b%"dirname"]=> 242: %unicode|string%(%d) "%s/foo" 243: [%u|b%"basename"]=> 244: %unicode|string%(12) "symlink.link" 245: [%u|b%"extension"]=> 246: %unicode|string%(4) "link" 247: [%u|b%"filename"]=> 248: %unicode|string%(7) "symlink" 249: } 250: -- Iteration 13 -- 251: string(%d) "%s/foo" 252: string(12) "symlink.link" 253: string(4) "link" 254: string(7) "symlink" 255: array(4) { 256: [%u|b%"dirname"]=> 257: string(%d) "%s/foo" 258: [%u|b%"basename"]=> 259: string(12) "symlink.link" 260: [%u|b%"extension"]=> 261: string(4) "link" 262: [%u|b%"filename"]=> 263: string(7) "symlink" 264: } 265: -- Iteration 14 -- 266: %unicode|string%(1) "." 267: %unicode|string%(1) "." 268: %unicode|string%(0) "" 269: %unicode|string%(0) "" 270: array(4) { 271: [%u|b%"dirname"]=> 272: %unicode|string%(1) "." 273: [%u|b%"basename"]=> 274: %unicode|string%(1) "." 275: [%u|b%"extension"]=> 276: %unicode|string%(0) "" 277: [%u|b%"filename"]=> 278: %unicode|string%(0) "" 279: } 280: -- Iteration 15 -- 281: %unicode|string%(%d) "%s" 282: %unicode|string%(3) "foo" 283: %unicode|string%(0) "" 284: %unicode|string%(3) "foo" 285: array(3) { 286: [%u|b%"dirname"]=> 287: %unicode|string%(%d) "%s" 288: [%u|b%"basename"]=> 289: %unicode|string%(3) "foo" 290: [%u|b%"filename"]=> 291: %unicode|string%(3) "foo" 292: } 293: -- Iteration 16 -- 294: %unicode|string%(%d) "%s" 295: %unicode|string%(3) "foo" 296: %unicode|string%(0) "" 297: %unicode|string%(3) "foo" 298: array(3) { 299: [%u|b%"dirname"]=> 300: %unicode|string%(%d) "%s" 301: [%u|b%"basename"]=> 302: %unicode|string%(3) "foo" 303: [%u|b%"filename"]=> 304: %unicode|string%(3) "foo" 305: } 306: -- Iteration 17 -- 307: %unicode|string%(%d) "%s/.." 308: %unicode|string%(3) "foo" 309: %unicode|string%(0) "" 310: %unicode|string%(3) "foo" 311: array(3) { 312: [%u|b%"dirname"]=> 313: %unicode|string%(%d) "%s/.." 314: [%u|b%"basename"]=> 315: %unicode|string%(3) "foo" 316: [%u|b%"filename"]=> 317: %unicode|string%(3) "foo" 318: } 319: -- Iteration 18 -- 320: %unicode|string%(6) "../foo" 321: %unicode|string%(3) "bar" 322: %unicode|string%(0) "" 323: %unicode|string%(3) "bar" 324: array(3) { 325: [%u|b%"dirname"]=> 326: %unicode|string%(6) "../foo" 327: [%u|b%"basename"]=> 328: %unicode|string%(3) "bar" 329: [%u|b%"filename"]=> 330: %unicode|string%(3) "bar" 331: } 332: -- Iteration 19 -- 333: %unicode|string%(5) "./foo" 334: %unicode|string%(3) "bar" 335: %unicode|string%(0) "" 336: %unicode|string%(3) "bar" 337: array(3) { 338: [%u|b%"dirname"]=> 339: %unicode|string%(5) "./foo" 340: [%u|b%"basename"]=> 341: %unicode|string%(3) "bar" 342: [%u|b%"filename"]=> 343: %unicode|string%(3) "bar" 344: } 345: -- Iteration 20 -- 346: %unicode|string%(5) "//foo" 347: %unicode|string%(3) "bar" 348: %unicode|string%(0) "" 349: %unicode|string%(3) "bar" 350: array(3) { 351: [%u|b%"dirname"]=> 352: %unicode|string%(5) "//foo" 353: [%u|b%"basename"]=> 354: %unicode|string%(3) "bar" 355: [%u|b%"filename"]=> 356: %unicode|string%(3) "bar" 357: } 358: -- Iteration 21 -- 359: %unicode|string%(5) "~/PHP" 360: %unicode|string%(8) "php5.2.0" 361: %unicode|string%(1) "0" 362: %unicode|string%(6) "php5.2" 363: array(4) { 364: [%u|b%"dirname"]=> 365: %unicode|string%(5) "~/PHP" 366: [%u|b%"basename"]=> 367: %unicode|string%(8) "php5.2.0" 368: [%u|b%"extension"]=> 369: %unicode|string%(1) "0" 370: [%u|b%"filename"]=> 371: %unicode|string%(6) "php5.2" 372: } 373: -- Iteration 22 -- 374: %unicode|string%(13) "/home/example" 375: %unicode|string%(4) "test" 376: %unicode|string%(0) "" 377: %unicode|string%(4) "test" 378: array(3) { 379: [%u|b%"dirname"]=> 380: %unicode|string%(13) "/home/example" 381: [%u|b%"basename"]=> 382: %unicode|string%(4) "test" 383: [%u|b%"filename"]=> 384: %unicode|string%(4) "test" 385: } 386: -- Iteration 23 -- 387: %unicode|string%(23) "http://httpd.apache.org" 388: %unicode|string%(24) "core.html#acceptpathinfo" 389: %unicode|string%(19) "html#acceptpathinfo" 390: %unicode|string%(4) "core" 391: array(4) { 392: [%u|b%"dirname"]=> 393: %unicode|string%(23) "http://httpd.apache.org" 394: [%u|b%"basename"]=> 395: %unicode|string%(24) "core.html#acceptpathinfo" 396: [%u|b%"extension"]=> 397: %unicode|string%(19) "html#acceptpathinfo" 398: [%u|b%"filename"]=> 399: %unicode|string%(4) "core" 400: } 401: Done