pathinfo_basic2-win32.phpt 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  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. 'c:\..\dir1',
  18. 'c:\test\..\test2\.\adir\afile.txt',
  19. '/usr/include/../arpa/./inet.h',
  20. 'c:\test\adir\afile..txt',
  21. '/usr/include/arpa/inet..h',
  22. 'c:\test\adir\afile.',
  23. '/usr/include/arpa/inet.',
  24. '/usr/include/arpa/inet,h',
  25. 'c:afile.txt',
  26. '..\.\..\test\afile.txt',
  27. '.././../test/afile',
  28. '.',
  29. '..',
  30. '...',
  31. '/usr/lib/.../afile'
  32. );
  33. $counter = 1;
  34. /* loop through $paths to test each $path in the above array */
  35. foreach($paths as $path) {
  36. echo "-- Iteration $counter --\n";
  37. var_dump( pathinfo($path, PATHINFO_DIRNAME) );
  38. var_dump( pathinfo($path, PATHINFO_BASENAME) );
  39. var_dump( pathinfo($path, PATHINFO_EXTENSION) );
  40. var_dump( pathinfo($path, PATHINFO_FILENAME) );
  41. var_dump( pathinfo($path) );
  42. $counter++;
  43. }
  44. echo "Done\n";
  45. ?>
  46. --EXPECT--
  47. *** Testing basic functions of pathinfo() ***
  48. -- Iteration 1 --
  49. string(5) "c:\.."
  50. string(4) "dir1"
  51. string(0) ""
  52. string(4) "dir1"
  53. array(3) {
  54. ["dirname"]=>
  55. string(5) "c:\.."
  56. ["basename"]=>
  57. string(4) "dir1"
  58. ["filename"]=>
  59. string(4) "dir1"
  60. }
  61. -- Iteration 2 --
  62. string(23) "c:\test\..\test2\.\adir"
  63. string(9) "afile.txt"
  64. string(3) "txt"
  65. string(5) "afile"
  66. array(4) {
  67. ["dirname"]=>
  68. string(23) "c:\test\..\test2\.\adir"
  69. ["basename"]=>
  70. string(9) "afile.txt"
  71. ["extension"]=>
  72. string(3) "txt"
  73. ["filename"]=>
  74. string(5) "afile"
  75. }
  76. -- Iteration 3 --
  77. string(22) "/usr/include/../arpa/."
  78. string(6) "inet.h"
  79. string(1) "h"
  80. string(4) "inet"
  81. array(4) {
  82. ["dirname"]=>
  83. string(22) "/usr/include/../arpa/."
  84. ["basename"]=>
  85. string(6) "inet.h"
  86. ["extension"]=>
  87. string(1) "h"
  88. ["filename"]=>
  89. string(4) "inet"
  90. }
  91. -- Iteration 4 --
  92. string(12) "c:\test\adir"
  93. string(10) "afile..txt"
  94. string(3) "txt"
  95. string(6) "afile."
  96. array(4) {
  97. ["dirname"]=>
  98. string(12) "c:\test\adir"
  99. ["basename"]=>
  100. string(10) "afile..txt"
  101. ["extension"]=>
  102. string(3) "txt"
  103. ["filename"]=>
  104. string(6) "afile."
  105. }
  106. -- Iteration 5 --
  107. string(17) "/usr/include/arpa"
  108. string(7) "inet..h"
  109. string(1) "h"
  110. string(5) "inet."
  111. array(4) {
  112. ["dirname"]=>
  113. string(17) "/usr/include/arpa"
  114. ["basename"]=>
  115. string(7) "inet..h"
  116. ["extension"]=>
  117. string(1) "h"
  118. ["filename"]=>
  119. string(5) "inet."
  120. }
  121. -- Iteration 6 --
  122. string(12) "c:\test\adir"
  123. string(6) "afile."
  124. string(0) ""
  125. string(5) "afile"
  126. array(4) {
  127. ["dirname"]=>
  128. string(12) "c:\test\adir"
  129. ["basename"]=>
  130. string(6) "afile."
  131. ["extension"]=>
  132. string(0) ""
  133. ["filename"]=>
  134. string(5) "afile"
  135. }
  136. -- Iteration 7 --
  137. string(17) "/usr/include/arpa"
  138. string(5) "inet."
  139. string(0) ""
  140. string(4) "inet"
  141. array(4) {
  142. ["dirname"]=>
  143. string(17) "/usr/include/arpa"
  144. ["basename"]=>
  145. string(5) "inet."
  146. ["extension"]=>
  147. string(0) ""
  148. ["filename"]=>
  149. string(4) "inet"
  150. }
  151. -- Iteration 8 --
  152. string(17) "/usr/include/arpa"
  153. string(6) "inet,h"
  154. string(0) ""
  155. string(6) "inet,h"
  156. array(3) {
  157. ["dirname"]=>
  158. string(17) "/usr/include/arpa"
  159. ["basename"]=>
  160. string(6) "inet,h"
  161. ["filename"]=>
  162. string(6) "inet,h"
  163. }
  164. -- Iteration 9 --
  165. string(3) "c:."
  166. string(11) "c:afile.txt"
  167. string(3) "txt"
  168. string(7) "c:afile"
  169. array(4) {
  170. ["dirname"]=>
  171. string(3) "c:."
  172. ["basename"]=>
  173. string(11) "c:afile.txt"
  174. ["extension"]=>
  175. string(3) "txt"
  176. ["filename"]=>
  177. string(7) "c:afile"
  178. }
  179. -- Iteration 10 --
  180. string(12) "..\.\..\test"
  181. string(9) "afile.txt"
  182. string(3) "txt"
  183. string(5) "afile"
  184. array(4) {
  185. ["dirname"]=>
  186. string(12) "..\.\..\test"
  187. ["basename"]=>
  188. string(9) "afile.txt"
  189. ["extension"]=>
  190. string(3) "txt"
  191. ["filename"]=>
  192. string(5) "afile"
  193. }
  194. -- Iteration 11 --
  195. string(12) ".././../test"
  196. string(5) "afile"
  197. string(0) ""
  198. string(5) "afile"
  199. array(3) {
  200. ["dirname"]=>
  201. string(12) ".././../test"
  202. ["basename"]=>
  203. string(5) "afile"
  204. ["filename"]=>
  205. string(5) "afile"
  206. }
  207. -- Iteration 12 --
  208. string(1) "."
  209. string(1) "."
  210. string(0) ""
  211. string(0) ""
  212. array(4) {
  213. ["dirname"]=>
  214. string(1) "."
  215. ["basename"]=>
  216. string(1) "."
  217. ["extension"]=>
  218. string(0) ""
  219. ["filename"]=>
  220. string(0) ""
  221. }
  222. -- Iteration 13 --
  223. string(1) "."
  224. string(2) ".."
  225. string(0) ""
  226. string(1) "."
  227. array(4) {
  228. ["dirname"]=>
  229. string(1) "."
  230. ["basename"]=>
  231. string(2) ".."
  232. ["extension"]=>
  233. string(0) ""
  234. ["filename"]=>
  235. string(1) "."
  236. }
  237. -- Iteration 14 --
  238. string(1) "."
  239. string(3) "..."
  240. string(0) ""
  241. string(2) ".."
  242. array(4) {
  243. ["dirname"]=>
  244. string(1) "."
  245. ["basename"]=>
  246. string(3) "..."
  247. ["extension"]=>
  248. string(0) ""
  249. ["filename"]=>
  250. string(2) ".."
  251. }
  252. -- Iteration 15 --
  253. string(12) "/usr/lib/..."
  254. string(5) "afile"
  255. string(0) ""
  256. string(5) "afile"
  257. array(3) {
  258. ["dirname"]=>
  259. string(12) "/usr/lib/..."
  260. ["basename"]=>
  261. string(5) "afile"
  262. ["filename"]=>
  263. string(5) "afile"
  264. }
  265. Done