glob_variation-win32-mb.phpt 12 KB

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