pathinfo_basic2.phpt 6.5 KB

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