pathinfo_basic1-win32.phpt 10 KB

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