1--TEST-- 2Test pathinfo() function: basic functionality 3--CREDITS-- 4Dave Kelsey <d_kelsey@uk.ibm.com> 5--SKIPIF-- 6<?php 7if(substr(PHP_OS, 0, 3) != "WIN") 8 die("skip Only valid for Windows"); 9?> 10--FILE-- 11<?php 12/* Prototype: mixed pathinfo ( string $path [, int $options] ); 13 Description: Returns information about a file path 14*/ 15 16echo "*** Testing basic functions of pathinfo() ***\n"; 17 18$paths = array ( 19 '', 20 ' ', 21 'c:', 22 'c:\\', 23 'c:/', 24 'afile', 25 'c:\test\adir', 26 'c:\test\adir\\', 27 '/usr/include/arpa', 28 '/usr/include/arpa/', 29 'usr/include/arpa', 30 'usr/include/arpa/', 31 'c:\test\afile', 32 'c:\\test\\afile', 33 'c://test//afile', 34 'c:\test\afile\\', 35 'c:\test\prog.exe', 36 'c:\\test\\prog.exe', 37 'c:/test/prog.exe', 38 '/usr/include/arpa/inet.h', 39 '//usr/include//arpa/inet.h', 40 '\\', 41 '\\\\', 42 '/', 43 '//', 44 '///', 45 '/usr/include/arpa/inet.h', 46 'c:\windows/system32\drivers/etc\hosts', 47 '/usr\include/arpa\inet.h', 48 ' c:\test\adir\afile.txt', 49 'c:\test\adir\afile.txt ', 50 ' c:\test\adir\afile.txt ', 51 ' /usr/include/arpa/inet.h', 52 '/usr/include/arpa/inet.h ', 53 ' /usr/include/arpa/inet.h ', 54 ' c:', 55 ' c:\test\adir\afile.txt', 56 '/usr', 57 '/usr/' 58); 59 60$counter = 1; 61/* loop through $paths to test each $path in the above array */ 62foreach($paths as $path) { 63 echo "-- Iteration $counter --\n"; 64 var_dump( pathinfo($path, PATHINFO_DIRNAME) ); 65 var_dump( pathinfo($path, PATHINFO_BASENAME) ); 66 var_dump( pathinfo($path, PATHINFO_EXTENSION) ); 67 var_dump( pathinfo($path, PATHINFO_FILENAME) ); 68 var_dump( pathinfo($path) ); 69 $counter++; 70} 71 72echo "Done\n"; 73?> 74--EXPECT-- 75*** Testing basic functions of pathinfo() *** 76-- Iteration 1 -- 77string(0) "" 78string(0) "" 79string(0) "" 80string(0) "" 81array(2) { 82 ["basename"]=> 83 string(0) "" 84 ["filename"]=> 85 string(0) "" 86} 87-- Iteration 2 -- 88string(1) "." 89string(1) " " 90string(0) "" 91string(1) " " 92array(3) { 93 ["dirname"]=> 94 string(1) "." 95 ["basename"]=> 96 string(1) " " 97 ["filename"]=> 98 string(1) " " 99} 100-- Iteration 3 -- 101string(2) "c:" 102string(1) "c" 103string(0) "" 104string(1) "c" 105array(3) { 106 ["dirname"]=> 107 string(2) "c:" 108 ["basename"]=> 109 string(1) "c" 110 ["filename"]=> 111 string(1) "c" 112} 113-- Iteration 4 -- 114string(3) "c:\" 115string(1) "c" 116string(0) "" 117string(1) "c" 118array(3) { 119 ["dirname"]=> 120 string(3) "c:\" 121 ["basename"]=> 122 string(1) "c" 123 ["filename"]=> 124 string(1) "c" 125} 126-- Iteration 5 -- 127string(3) "c:\" 128string(1) "c" 129string(0) "" 130string(1) "c" 131array(3) { 132 ["dirname"]=> 133 string(3) "c:\" 134 ["basename"]=> 135 string(1) "c" 136 ["filename"]=> 137 string(1) "c" 138} 139-- Iteration 6 -- 140string(1) "." 141string(5) "afile" 142string(0) "" 143string(5) "afile" 144array(3) { 145 ["dirname"]=> 146 string(1) "." 147 ["basename"]=> 148 string(5) "afile" 149 ["filename"]=> 150 string(5) "afile" 151} 152-- Iteration 7 -- 153string(7) "c:\test" 154string(4) "adir" 155string(0) "" 156string(4) "adir" 157array(3) { 158 ["dirname"]=> 159 string(7) "c:\test" 160 ["basename"]=> 161 string(4) "adir" 162 ["filename"]=> 163 string(4) "adir" 164} 165-- Iteration 8 -- 166string(7) "c:\test" 167string(4) "adir" 168string(0) "" 169string(4) "adir" 170array(3) { 171 ["dirname"]=> 172 string(7) "c:\test" 173 ["basename"]=> 174 string(4) "adir" 175 ["filename"]=> 176 string(4) "adir" 177} 178-- Iteration 9 -- 179string(12) "/usr/include" 180string(4) "arpa" 181string(0) "" 182string(4) "arpa" 183array(3) { 184 ["dirname"]=> 185 string(12) "/usr/include" 186 ["basename"]=> 187 string(4) "arpa" 188 ["filename"]=> 189 string(4) "arpa" 190} 191-- Iteration 10 -- 192string(12) "/usr/include" 193string(4) "arpa" 194string(0) "" 195string(4) "arpa" 196array(3) { 197 ["dirname"]=> 198 string(12) "/usr/include" 199 ["basename"]=> 200 string(4) "arpa" 201 ["filename"]=> 202 string(4) "arpa" 203} 204-- Iteration 11 -- 205string(11) "usr/include" 206string(4) "arpa" 207string(0) "" 208string(4) "arpa" 209array(3) { 210 ["dirname"]=> 211 string(11) "usr/include" 212 ["basename"]=> 213 string(4) "arpa" 214 ["filename"]=> 215 string(4) "arpa" 216} 217-- Iteration 12 -- 218string(11) "usr/include" 219string(4) "arpa" 220string(0) "" 221string(4) "arpa" 222array(3) { 223 ["dirname"]=> 224 string(11) "usr/include" 225 ["basename"]=> 226 string(4) "arpa" 227 ["filename"]=> 228 string(4) "arpa" 229} 230-- Iteration 13 -- 231string(7) "c:\test" 232string(5) "afile" 233string(0) "" 234string(5) "afile" 235array(3) { 236 ["dirname"]=> 237 string(7) "c:\test" 238 ["basename"]=> 239 string(5) "afile" 240 ["filename"]=> 241 string(5) "afile" 242} 243-- Iteration 14 -- 244string(7) "c:\test" 245string(5) "afile" 246string(0) "" 247string(5) "afile" 248array(3) { 249 ["dirname"]=> 250 string(7) "c:\test" 251 ["basename"]=> 252 string(5) "afile" 253 ["filename"]=> 254 string(5) "afile" 255} 256-- Iteration 15 -- 257string(8) "c://test" 258string(5) "afile" 259string(0) "" 260string(5) "afile" 261array(3) { 262 ["dirname"]=> 263 string(8) "c://test" 264 ["basename"]=> 265 string(5) "afile" 266 ["filename"]=> 267 string(5) "afile" 268} 269-- Iteration 16 -- 270string(7) "c:\test" 271string(5) "afile" 272string(0) "" 273string(5) "afile" 274array(3) { 275 ["dirname"]=> 276 string(7) "c:\test" 277 ["basename"]=> 278 string(5) "afile" 279 ["filename"]=> 280 string(5) "afile" 281} 282-- Iteration 17 -- 283string(7) "c:\test" 284string(8) "prog.exe" 285string(3) "exe" 286string(4) "prog" 287array(4) { 288 ["dirname"]=> 289 string(7) "c:\test" 290 ["basename"]=> 291 string(8) "prog.exe" 292 ["extension"]=> 293 string(3) "exe" 294 ["filename"]=> 295 string(4) "prog" 296} 297-- Iteration 18 -- 298string(7) "c:\test" 299string(8) "prog.exe" 300string(3) "exe" 301string(4) "prog" 302array(4) { 303 ["dirname"]=> 304 string(7) "c:\test" 305 ["basename"]=> 306 string(8) "prog.exe" 307 ["extension"]=> 308 string(3) "exe" 309 ["filename"]=> 310 string(4) "prog" 311} 312-- Iteration 19 -- 313string(7) "c:/test" 314string(8) "prog.exe" 315string(3) "exe" 316string(4) "prog" 317array(4) { 318 ["dirname"]=> 319 string(7) "c:/test" 320 ["basename"]=> 321 string(8) "prog.exe" 322 ["extension"]=> 323 string(3) "exe" 324 ["filename"]=> 325 string(4) "prog" 326} 327-- Iteration 20 -- 328string(17) "/usr/include/arpa" 329string(6) "inet.h" 330string(1) "h" 331string(4) "inet" 332array(4) { 333 ["dirname"]=> 334 string(17) "/usr/include/arpa" 335 ["basename"]=> 336 string(6) "inet.h" 337 ["extension"]=> 338 string(1) "h" 339 ["filename"]=> 340 string(4) "inet" 341} 342-- Iteration 21 -- 343string(19) "//usr/include//arpa" 344string(6) "inet.h" 345string(1) "h" 346string(4) "inet" 347array(4) { 348 ["dirname"]=> 349 string(19) "//usr/include//arpa" 350 ["basename"]=> 351 string(6) "inet.h" 352 ["extension"]=> 353 string(1) "h" 354 ["filename"]=> 355 string(4) "inet" 356} 357-- Iteration 22 -- 358string(1) "\" 359string(0) "" 360string(0) "" 361string(0) "" 362array(3) { 363 ["dirname"]=> 364 string(1) "\" 365 ["basename"]=> 366 string(0) "" 367 ["filename"]=> 368 string(0) "" 369} 370-- Iteration 23 -- 371string(1) "\" 372string(0) "" 373string(0) "" 374string(0) "" 375array(3) { 376 ["dirname"]=> 377 string(1) "\" 378 ["basename"]=> 379 string(0) "" 380 ["filename"]=> 381 string(0) "" 382} 383-- Iteration 24 -- 384string(1) "\" 385string(0) "" 386string(0) "" 387string(0) "" 388array(3) { 389 ["dirname"]=> 390 string(1) "\" 391 ["basename"]=> 392 string(0) "" 393 ["filename"]=> 394 string(0) "" 395} 396-- Iteration 25 -- 397string(1) "\" 398string(0) "" 399string(0) "" 400string(0) "" 401array(3) { 402 ["dirname"]=> 403 string(1) "\" 404 ["basename"]=> 405 string(0) "" 406 ["filename"]=> 407 string(0) "" 408} 409-- Iteration 26 -- 410string(1) "\" 411string(0) "" 412string(0) "" 413string(0) "" 414array(3) { 415 ["dirname"]=> 416 string(1) "\" 417 ["basename"]=> 418 string(0) "" 419 ["filename"]=> 420 string(0) "" 421} 422-- Iteration 27 -- 423string(17) "/usr/include/arpa" 424string(6) "inet.h" 425string(1) "h" 426string(4) "inet" 427array(4) { 428 ["dirname"]=> 429 string(17) "/usr/include/arpa" 430 ["basename"]=> 431 string(6) "inet.h" 432 ["extension"]=> 433 string(1) "h" 434 ["filename"]=> 435 string(4) "inet" 436} 437-- Iteration 28 -- 438string(31) "c:\windows/system32\drivers/etc" 439string(5) "hosts" 440string(0) "" 441string(5) "hosts" 442array(3) { 443 ["dirname"]=> 444 string(31) "c:\windows/system32\drivers/etc" 445 ["basename"]=> 446 string(5) "hosts" 447 ["filename"]=> 448 string(5) "hosts" 449} 450-- Iteration 29 -- 451string(17) "/usr\include/arpa" 452string(6) "inet.h" 453string(1) "h" 454string(4) "inet" 455array(4) { 456 ["dirname"]=> 457 string(17) "/usr\include/arpa" 458 ["basename"]=> 459 string(6) "inet.h" 460 ["extension"]=> 461 string(1) "h" 462 ["filename"]=> 463 string(4) "inet" 464} 465-- Iteration 30 -- 466string(15) " c:\test\adir" 467string(9) "afile.txt" 468string(3) "txt" 469string(5) "afile" 470array(4) { 471 ["dirname"]=> 472 string(15) " c:\test\adir" 473 ["basename"]=> 474 string(9) "afile.txt" 475 ["extension"]=> 476 string(3) "txt" 477 ["filename"]=> 478 string(5) "afile" 479} 480-- Iteration 31 -- 481string(12) "c:\test\adir" 482string(12) "afile.txt " 483string(6) "txt " 484string(5) "afile" 485array(4) { 486 ["dirname"]=> 487 string(12) "c:\test\adir" 488 ["basename"]=> 489 string(12) "afile.txt " 490 ["extension"]=> 491 string(6) "txt " 492 ["filename"]=> 493 string(5) "afile" 494} 495-- Iteration 32 -- 496string(15) " c:\test\adir" 497string(12) "afile.txt " 498string(6) "txt " 499string(5) "afile" 500array(4) { 501 ["dirname"]=> 502 string(15) " c:\test\adir" 503 ["basename"]=> 504 string(12) "afile.txt " 505 ["extension"]=> 506 string(6) "txt " 507 ["filename"]=> 508 string(5) "afile" 509} 510-- Iteration 33 -- 511string(20) " /usr/include/arpa" 512string(6) "inet.h" 513string(1) "h" 514string(4) "inet" 515array(4) { 516 ["dirname"]=> 517 string(20) " /usr/include/arpa" 518 ["basename"]=> 519 string(6) "inet.h" 520 ["extension"]=> 521 string(1) "h" 522 ["filename"]=> 523 string(4) "inet" 524} 525-- Iteration 34 -- 526string(17) "/usr/include/arpa" 527string(9) "inet.h " 528string(4) "h " 529string(4) "inet" 530array(4) { 531 ["dirname"]=> 532 string(17) "/usr/include/arpa" 533 ["basename"]=> 534 string(9) "inet.h " 535 ["extension"]=> 536 string(4) "h " 537 ["filename"]=> 538 string(4) "inet" 539} 540-- Iteration 35 -- 541string(20) " /usr/include/arpa" 542string(9) "inet.h " 543string(4) "h " 544string(4) "inet" 545array(4) { 546 ["dirname"]=> 547 string(20) " /usr/include/arpa" 548 ["basename"]=> 549 string(9) "inet.h " 550 ["extension"]=> 551 string(4) "h " 552 ["filename"]=> 553 string(4) "inet" 554} 555-- Iteration 36 -- 556string(1) "." 557string(3) " c:" 558string(0) "" 559string(3) " c:" 560array(3) { 561 ["dirname"]=> 562 string(1) "." 563 ["basename"]=> 564 string(3) " c:" 565 ["filename"]=> 566 string(3) " c:" 567} 568-- Iteration 37 -- 569string(14) " c:\test\adir" 570string(9) "afile.txt" 571string(3) "txt" 572string(5) "afile" 573array(4) { 574 ["dirname"]=> 575 string(14) " c:\test\adir" 576 ["basename"]=> 577 string(9) "afile.txt" 578 ["extension"]=> 579 string(3) "txt" 580 ["filename"]=> 581 string(5) "afile" 582} 583-- Iteration 38 -- 584string(1) "\" 585string(3) "usr" 586string(0) "" 587string(3) "usr" 588array(3) { 589 ["dirname"]=> 590 string(1) "\" 591 ["basename"]=> 592 string(3) "usr" 593 ["filename"]=> 594 string(3) "usr" 595} 596-- Iteration 39 -- 597string(1) "\" 598string(3) "usr" 599string(0) "" 600string(3) "usr" 601array(3) { 602 ["dirname"]=> 603 string(1) "\" 604 ["basename"]=> 605 string(3) "usr" 606 ["filename"]=> 607 string(3) "usr" 608} 609Done 610