glob_variation-win32.phpt 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465
  1. --TEST--
  2. Test glob() function: usage variations
  3. --SKIPIF--
  4. <?php
  5. if (substr(PHP_OS, 0, 3) != 'WIN') {
  6. die('skip.. only for Windows');
  7. }
  8. ?>
  9. --FILE--
  10. <?php
  11. /* Prototype: array glob ( string $pattern [, int $flags] );
  12. Description: Find pathnames matching a pattern
  13. */
  14. echo "*** Testing glob() : usage variations ***\n";
  15. $file_path = dirname(__FILE__);
  16. // temp dir created
  17. mkdir("$file_path/glob_variation");
  18. mkdir("$file_path/glob_variation/wonder");
  19. // temp files created
  20. $fp = fopen("$file_path/glob_variation/wonder12345", "w");
  21. fclose($fp);
  22. $fp = fopen("$file_path/glob_variation/wonder;123456", "w");
  23. fclose($fp);
  24. $patterns = array (
  25. "$file_path/glob_variation/*der*",
  26. "$file_path/glob_variation/?onder*",
  27. "$file_path/glob_variation/w*der?*",
  28. "$file_path/glob_variation/*der5",
  29. "$file_path/glob_variation/??onder*",
  30. "$file_path/glob_variation/***der***",
  31. "$file_path/glob_variation/++onder*",
  32. "$file_path/glob_variation/WONDER5\0",
  33. '$file_path/glob_variation/wonder5',
  34. "$file_path/glob_variation/?wonder?",
  35. "$file_path/glob_variation/wonder?",
  36. TRUE // boolean true
  37. );
  38. $counter = 1;
  39. /* loop through $patterns to match each $pattern with the files created
  40. using glob() */
  41. foreach($patterns as $pattern) {
  42. echo "\n-- Iteration $counter --\n";
  43. var_dump( glob($pattern) ); // default arguments
  44. var_dump( glob($pattern, GLOB_MARK) );
  45. var_dump( glob($pattern, GLOB_NOSORT) );
  46. var_dump( glob($pattern, GLOB_NOCHECK) );
  47. var_dump( glob($pattern, GLOB_NOESCAPE) );
  48. var_dump( glob($pattern, GLOB_ERR) );
  49. $counter++;
  50. }
  51. echo "\n*** Testing glob() with pattern within braces ***\n";
  52. var_dump( glob("$file_path/glob_variation/*{5}", GLOB_BRACE) );
  53. // delete temp files and dir
  54. unlink("$file_path/glob_variation/wonder12345");
  55. unlink("$file_path/glob_variation/wonder;123456");
  56. rmdir("$file_path/glob_variation/wonder");
  57. rmdir("$file_path/glob_variation");
  58. echo "\n*** Testing glob() on directories ***\n";
  59. // temp dir created to check for pattern matching the sub dir created in it
  60. mkdir("$file_path/glob_variation/wonder1/wonder2", 0777, true);
  61. $counter = 1;
  62. /* loop through $patterns to match each $pattern with the directories created
  63. using glob() */
  64. foreach($patterns as $pattern) {
  65. echo "-- Iteration $counter --\n";
  66. var_dump( glob($pattern, GLOB_ONLYDIR) );
  67. $counter++;
  68. }
  69. echo "Done\n";
  70. ?>
  71. --CLEAN--
  72. <?php
  73. $file_path = dirname(__FILE__);
  74. rmdir("$file_path/glob_variation/wonder1/wonder2");
  75. rmdir("$file_path/glob_variation/wonder1/");
  76. rmdir("$file_path/glob_variation/");
  77. ?>
  78. --EXPECTF--
  79. *** Testing glob() : usage variations ***
  80. -- Iteration 1 --
  81. array(3) {
  82. [0]=>
  83. string(%d) "%s/glob_variation/wonder"
  84. [1]=>
  85. string(%d) "%s/glob_variation/wonder12345"
  86. [2]=>
  87. string(%d) "%s/glob_variation/wonder;123456"
  88. }
  89. array(3) {
  90. [0]=>
  91. string(%d) "%s/glob_variation/wonder12345"
  92. [1]=>
  93. string(%d) "%s/glob_variation/wonder;123456"
  94. [2]=>
  95. string(%d) "%s/glob_variation/wonder\"
  96. }
  97. array(3) {
  98. [0]=>
  99. string(%d) "%s/glob_variation/wonder"
  100. [1]=>
  101. string(%d) "%s/glob_variation/wonder12345"
  102. [2]=>
  103. string(%d) "%s/glob_variation/wonder;123456"
  104. }
  105. array(3) {
  106. [0]=>
  107. string(%d) "%s/glob_variation/wonder"
  108. [1]=>
  109. string(%d) "%s/glob_variation/wonder12345"
  110. [2]=>
  111. string(%d) "%s/glob_variation/wonder;123456"
  112. }
  113. array(3) {
  114. [0]=>
  115. string(%d) "%s/glob_variation/wonder"
  116. [1]=>
  117. string(%d) "%s/glob_variation/wonder12345"
  118. [2]=>
  119. string(%d) "%s/glob_variation/wonder;123456"
  120. }
  121. array(3) {
  122. [0]=>
  123. string(%d) "%s/glob_variation/wonder"
  124. [1]=>
  125. string(%d) "%s/glob_variation/wonder12345"
  126. [2]=>
  127. string(%d) "%s/glob_variation/wonder;123456"
  128. }
  129. -- Iteration 2 --
  130. array(3) {
  131. [0]=>
  132. string(%d) "%s/glob_variation/wonder"
  133. [1]=>
  134. string(%d) "%s/glob_variation/wonder12345"
  135. [2]=>
  136. string(%d) "%s/glob_variation/wonder;123456"
  137. }
  138. array(3) {
  139. [0]=>
  140. string(%d) "%s/glob_variation/wonder12345"
  141. [1]=>
  142. string(%d) "%s/glob_variation/wonder;123456"
  143. [2]=>
  144. string(%d) "%s/glob_variation/wonder\"
  145. }
  146. array(3) {
  147. [0]=>
  148. string(%d) "%s/glob_variation/wonder"
  149. [1]=>
  150. string(%d) "%s/glob_variation/wonder12345"
  151. [2]=>
  152. string(%d) "%s/glob_variation/wonder;123456"
  153. }
  154. array(3) {
  155. [0]=>
  156. string(%d) "%s/glob_variation/wonder"
  157. [1]=>
  158. string(%d) "%s/glob_variation/wonder12345"
  159. [2]=>
  160. string(%d) "%s/glob_variation/wonder;123456"
  161. }
  162. array(3) {
  163. [0]=>
  164. string(%d) "%s/glob_variation/wonder"
  165. [1]=>
  166. string(%d) "%s/glob_variation/wonder12345"
  167. [2]=>
  168. string(%d) "%s/glob_variation/wonder;123456"
  169. }
  170. array(3) {
  171. [0]=>
  172. string(%d) "%s/glob_variation/wonder"
  173. [1]=>
  174. string(%d) "%s/glob_variation/wonder12345"
  175. [2]=>
  176. string(%d) "%s/glob_variation/wonder;123456"
  177. }
  178. -- Iteration 3 --
  179. array(2) {
  180. [0]=>
  181. string(%d) "%s/glob_variation/wonder12345"
  182. [1]=>
  183. string(%d) "%s/glob_variation/wonder;123456"
  184. }
  185. array(2) {
  186. [0]=>
  187. string(%d) "%s/glob_variation/wonder12345"
  188. [1]=>
  189. string(%d) "%s/glob_variation/wonder;123456"
  190. }
  191. array(2) {
  192. [0]=>
  193. string(%d) "%s/glob_variation/wonder12345"
  194. [1]=>
  195. string(%d) "%s/glob_variation/wonder;123456"
  196. }
  197. array(2) {
  198. [0]=>
  199. string(%d) "%s/glob_variation/wonder12345"
  200. [1]=>
  201. string(%d) "%s/glob_variation/wonder;123456"
  202. }
  203. array(2) {
  204. [0]=>
  205. string(%d) "%s/glob_variation/wonder12345"
  206. [1]=>
  207. string(%d) "%s/glob_variation/wonder;123456"
  208. }
  209. array(2) {
  210. [0]=>
  211. string(%d) "%s/glob_variation/wonder12345"
  212. [1]=>
  213. string(%d) "%s/glob_variation/wonder;123456"
  214. }
  215. -- Iteration 4 --
  216. array(0) {
  217. }
  218. array(0) {
  219. }
  220. array(0) {
  221. }
  222. array(1) {
  223. [0]=>
  224. string(%d) "%s/glob_variation/*der5"
  225. }
  226. array(0) {
  227. }
  228. array(0) {
  229. }
  230. -- Iteration 5 --
  231. array(0) {
  232. }
  233. array(0) {
  234. }
  235. array(0) {
  236. }
  237. array(1) {
  238. [0]=>
  239. string(%d) "%s/glob_variation/??onder*"
  240. }
  241. array(0) {
  242. }
  243. array(0) {
  244. }
  245. -- Iteration 6 --
  246. array(3) {
  247. [0]=>
  248. string(%d) "%s/glob_variation/wonder"
  249. [1]=>
  250. string(%d) "%s/glob_variation/wonder12345"
  251. [2]=>
  252. string(%d) "%s/glob_variation/wonder;123456"
  253. }
  254. array(3) {
  255. [0]=>
  256. string(%d) "%s/glob_variation/wonder12345"
  257. [1]=>
  258. string(%d) "%s/glob_variation/wonder;123456"
  259. [2]=>
  260. string(%d) "%s/glob_variation/wonder\"
  261. }
  262. array(3) {
  263. [0]=>
  264. string(%d) "%s/glob_variation/wonder"
  265. [1]=>
  266. string(%d) "%s/glob_variation/wonder12345"
  267. [2]=>
  268. string(%d) "%s/glob_variation/wonder;123456"
  269. }
  270. array(3) {
  271. [0]=>
  272. string(%d) "%s/glob_variation/wonder"
  273. [1]=>
  274. string(%d) "%s/glob_variation/wonder12345"
  275. [2]=>
  276. string(%d) "%s/glob_variation/wonder;123456"
  277. }
  278. array(3) {
  279. [0]=>
  280. string(%d) "%s/glob_variation/wonder"
  281. [1]=>
  282. string(%d) "%s/glob_variation/wonder12345"
  283. [2]=>
  284. string(%d) "%s/glob_variation/wonder;123456"
  285. }
  286. array(3) {
  287. [0]=>
  288. string(%d) "%s/glob_variation/wonder"
  289. [1]=>
  290. string(%d) "%s/glob_variation/wonder12345"
  291. [2]=>
  292. string(%d) "%s/glob_variation/wonder;123456"
  293. }
  294. -- Iteration 7 --
  295. array(0) {
  296. }
  297. array(0) {
  298. }
  299. array(0) {
  300. }
  301. array(1) {
  302. [0]=>
  303. string(%d) "%s/glob_variation/++onder*"
  304. }
  305. array(0) {
  306. }
  307. array(0) {
  308. }
  309. -- Iteration 8 --
  310. Warning: glob() expects parameter 1 to be a valid path, string given %sglob_variation-win32.php on line %d
  311. NULL
  312. Warning: glob() expects parameter 1 to be a valid path, string given %sglob_variation-win32.php on line %d
  313. NULL
  314. Warning: glob() expects parameter 1 to be a valid path, string given %sglob_variation-win32.php on line %d
  315. NULL
  316. Warning: glob() expects parameter 1 to be a valid path, string given %sglob_variation-win32.php on line %d
  317. NULL
  318. Warning: glob() expects parameter 1 to be a valid path, string given %sglob_variation-win32.php on line %d
  319. NULL
  320. Warning: glob() expects parameter 1 to be a valid path, string given %sglob_variation-win32.php on line %d
  321. NULL
  322. -- Iteration 9 --
  323. array(0) {
  324. }
  325. array(0) {
  326. }
  327. array(0) {
  328. }
  329. array(1) {
  330. [0]=>
  331. string(%d) "$file_path/glob_variation/wonder5"
  332. }
  333. array(0) {
  334. }
  335. array(0) {
  336. }
  337. -- Iteration 10 --
  338. array(0) {
  339. }
  340. array(0) {
  341. }
  342. array(0) {
  343. }
  344. array(1) {
  345. [0]=>
  346. string(%d) "%s/glob_variation/?wonder?"
  347. }
  348. array(0) {
  349. }
  350. array(0) {
  351. }
  352. -- Iteration 11 --
  353. array(0) {
  354. }
  355. array(0) {
  356. }
  357. array(0) {
  358. }
  359. array(1) {
  360. [0]=>
  361. string(%d) "%s/glob_variation/wonder?"
  362. }
  363. array(0) {
  364. }
  365. array(0) {
  366. }
  367. -- Iteration 12 --
  368. array(0) {
  369. }
  370. array(0) {
  371. }
  372. array(0) {
  373. }
  374. array(1) {
  375. [0]=>
  376. string(%d) "1"
  377. }
  378. array(0) {
  379. }
  380. array(0) {
  381. }
  382. *** Testing glob() with pattern within braces ***
  383. array(1) {
  384. [0]=>
  385. string(%d) "%s/glob_variation/wonder12345"
  386. }
  387. *** Testing glob() on directories ***
  388. -- Iteration 1 --
  389. array(1) {
  390. [0]=>
  391. string(%d) "%s/glob_variation/wonder1"
  392. }
  393. -- Iteration 2 --
  394. array(1) {
  395. [0]=>
  396. string(%d) "%s/glob_variation/wonder1"
  397. }
  398. -- Iteration 3 --
  399. array(1) {
  400. [0]=>
  401. string(%d) "%s/glob_variation/wonder1"
  402. }
  403. -- Iteration 4 --
  404. array(0) {
  405. }
  406. -- Iteration 5 --
  407. array(0) {
  408. }
  409. -- Iteration 6 --
  410. array(1) {
  411. [0]=>
  412. string(%d) "%s/glob_variation/wonder1"
  413. }
  414. -- Iteration 7 --
  415. array(0) {
  416. }
  417. -- Iteration 8 --
  418. Warning: glob() expects parameter 1 to be a valid path, string given in %sglob_variation-win32.php on line %d
  419. NULL
  420. -- Iteration 9 --
  421. array(0) {
  422. }
  423. -- Iteration 10 --
  424. array(0) {
  425. }
  426. -- Iteration 11 --
  427. array(1) {
  428. [0]=>
  429. string(%d) "%s/glob_variation/wonder1"
  430. }
  431. -- Iteration 12 --
  432. array(0) {
  433. }
  434. Done