SplFileObject_fputcsv_variation1.phpt 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825
  1. --TEST--
  2. Test fputcsv() : usage variations - with all parameters specified
  3. --FILE--
  4. <?php
  5. /* Testing fputcsv() to write to a file when all its parameters are provided */
  6. echo "*** Testing fputcsv() : with all parameters specified ***\n";
  7. /* the array is with three elements in it. Each element should be read as
  8. 1st element is delimiter, 2nd element is enclosure
  9. and 3rd element is csv fields
  10. */
  11. $csv_lists = array (
  12. array(',', '"', array('water','fruit') ),
  13. array(',', '"', array('"water","fruit') ),
  14. array(',', '"', array('"water","fruit"') ),
  15. array(' ', '^', array('^water^ ^fruit^')),
  16. array(':', '&', array('&water&:&fruit&')),
  17. array('=', '=', array('=water===fruit=')),
  18. array('-', '-', array('-water--fruit-air')),
  19. array('-', '-', array('-water---fruit---air-')),
  20. array(':', '&', array('&""""&:&"&:,:":&,&:,,,,'))
  21. );
  22. $file_path = __DIR__;
  23. $file = "$file_path/fputcsv_variation1.tmp";
  24. $file_modes = array ("r+", "r+b", "r+t",
  25. "a+", "a+b", "a+t",
  26. "w+", "w+b", "w+t",
  27. "x+", "x+b", "x+t");
  28. $loop_counter = 1;
  29. foreach ($csv_lists as $csv_list) {
  30. for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
  31. echo "\n-- file opened in $file_modes[$mode_counter] --\n";
  32. // create the file and add the content with has csv fields
  33. if ( strstr($file_modes[$mode_counter], "r") ) {
  34. $fo = new SplFileObject($file, 'w');
  35. } else {
  36. $fo = new SplFileObject($file, $file_modes[$mode_counter]);
  37. }
  38. $delimiter = $csv_list[0];
  39. $enclosure = $csv_list[1];
  40. $csv_field = $csv_list[2];
  41. var_dump( $fo->fputcsv($csv_field, $delimiter, $enclosure) );
  42. // check the file pointer position and eof
  43. var_dump( $fo->ftell() );
  44. var_dump( $fo->eof() );
  45. //close the file
  46. unset($fo);
  47. // print the file contents
  48. var_dump( file_get_contents($file) );
  49. //delete file
  50. unlink($file);
  51. } //end of mode loop
  52. } // end of foreach
  53. echo "Done\n";
  54. ?>
  55. --EXPECTF--
  56. *** Testing fputcsv() : with all parameters specified ***
  57. -- file opened in r+ --
  58. int(12)
  59. int(12)
  60. bool(false)
  61. string(12) "water,fruit
  62. "
  63. -- file opened in r+b --
  64. int(12)
  65. int(12)
  66. bool(false)
  67. string(12) "water,fruit
  68. "
  69. -- file opened in r+t --
  70. int(12)
  71. int(12)
  72. bool(false)
  73. string(%d) "water,fruit
  74. "
  75. -- file opened in a+ --
  76. int(12)
  77. int(12)
  78. bool(false)
  79. string(12) "water,fruit
  80. "
  81. -- file opened in a+b --
  82. int(12)
  83. int(12)
  84. bool(false)
  85. string(12) "water,fruit
  86. "
  87. -- file opened in a+t --
  88. int(12)
  89. int(12)
  90. bool(false)
  91. string(%d) "water,fruit
  92. "
  93. -- file opened in w+ --
  94. int(12)
  95. int(12)
  96. bool(false)
  97. string(12) "water,fruit
  98. "
  99. -- file opened in w+b --
  100. int(12)
  101. int(12)
  102. bool(false)
  103. string(12) "water,fruit
  104. "
  105. -- file opened in w+t --
  106. int(12)
  107. int(12)
  108. bool(false)
  109. string(%d) "water,fruit
  110. "
  111. -- file opened in x+ --
  112. int(12)
  113. int(12)
  114. bool(false)
  115. string(12) "water,fruit
  116. "
  117. -- file opened in x+b --
  118. int(12)
  119. int(12)
  120. bool(false)
  121. string(12) "water,fruit
  122. "
  123. -- file opened in x+t --
  124. int(12)
  125. int(12)
  126. bool(false)
  127. string(%d) "water,fruit
  128. "
  129. -- file opened in r+ --
  130. int(20)
  131. int(20)
  132. bool(false)
  133. string(20) """"water"",""fruit"
  134. "
  135. -- file opened in r+b --
  136. int(20)
  137. int(20)
  138. bool(false)
  139. string(20) """"water"",""fruit"
  140. "
  141. -- file opened in r+t --
  142. int(20)
  143. int(20)
  144. bool(false)
  145. string(%d) """"water"",""fruit"
  146. "
  147. -- file opened in a+ --
  148. int(20)
  149. int(20)
  150. bool(false)
  151. string(20) """"water"",""fruit"
  152. "
  153. -- file opened in a+b --
  154. int(20)
  155. int(20)
  156. bool(false)
  157. string(20) """"water"",""fruit"
  158. "
  159. -- file opened in a+t --
  160. int(20)
  161. int(20)
  162. bool(false)
  163. string(%d) """"water"",""fruit"
  164. "
  165. -- file opened in w+ --
  166. int(20)
  167. int(20)
  168. bool(false)
  169. string(20) """"water"",""fruit"
  170. "
  171. -- file opened in w+b --
  172. int(20)
  173. int(20)
  174. bool(false)
  175. string(20) """"water"",""fruit"
  176. "
  177. -- file opened in w+t --
  178. int(20)
  179. int(20)
  180. bool(false)
  181. string(%d) """"water"",""fruit"
  182. "
  183. -- file opened in x+ --
  184. int(20)
  185. int(20)
  186. bool(false)
  187. string(20) """"water"",""fruit"
  188. "
  189. -- file opened in x+b --
  190. int(20)
  191. int(20)
  192. bool(false)
  193. string(20) """"water"",""fruit"
  194. "
  195. -- file opened in x+t --
  196. int(20)
  197. int(20)
  198. bool(false)
  199. string(%d) """"water"",""fruit"
  200. "
  201. -- file opened in r+ --
  202. int(22)
  203. int(22)
  204. bool(false)
  205. string(22) """"water"",""fruit"""
  206. "
  207. -- file opened in r+b --
  208. int(22)
  209. int(22)
  210. bool(false)
  211. string(22) """"water"",""fruit"""
  212. "
  213. -- file opened in r+t --
  214. int(22)
  215. int(22)
  216. bool(false)
  217. string(%d) """"water"",""fruit"""
  218. "
  219. -- file opened in a+ --
  220. int(22)
  221. int(22)
  222. bool(false)
  223. string(22) """"water"",""fruit"""
  224. "
  225. -- file opened in a+b --
  226. int(22)
  227. int(22)
  228. bool(false)
  229. string(22) """"water"",""fruit"""
  230. "
  231. -- file opened in a+t --
  232. int(22)
  233. int(22)
  234. bool(false)
  235. string(%d) """"water"",""fruit"""
  236. "
  237. -- file opened in w+ --
  238. int(22)
  239. int(22)
  240. bool(false)
  241. string(22) """"water"",""fruit"""
  242. "
  243. -- file opened in w+b --
  244. int(22)
  245. int(22)
  246. bool(false)
  247. string(22) """"water"",""fruit"""
  248. "
  249. -- file opened in w+t --
  250. int(22)
  251. int(22)
  252. bool(false)
  253. string(%d) """"water"",""fruit"""
  254. "
  255. -- file opened in x+ --
  256. int(22)
  257. int(22)
  258. bool(false)
  259. string(22) """"water"",""fruit"""
  260. "
  261. -- file opened in x+b --
  262. int(22)
  263. int(22)
  264. bool(false)
  265. string(22) """"water"",""fruit"""
  266. "
  267. -- file opened in x+t --
  268. int(22)
  269. int(22)
  270. bool(false)
  271. string(%d) """"water"",""fruit"""
  272. "
  273. -- file opened in r+ --
  274. int(22)
  275. int(22)
  276. bool(false)
  277. string(22) "^^^water^^ ^^fruit^^^
  278. "
  279. -- file opened in r+b --
  280. int(22)
  281. int(22)
  282. bool(false)
  283. string(22) "^^^water^^ ^^fruit^^^
  284. "
  285. -- file opened in r+t --
  286. int(22)
  287. int(22)
  288. bool(false)
  289. string(%d) "^^^water^^ ^^fruit^^^
  290. "
  291. -- file opened in a+ --
  292. int(22)
  293. int(22)
  294. bool(false)
  295. string(22) "^^^water^^ ^^fruit^^^
  296. "
  297. -- file opened in a+b --
  298. int(22)
  299. int(22)
  300. bool(false)
  301. string(22) "^^^water^^ ^^fruit^^^
  302. "
  303. -- file opened in a+t --
  304. int(22)
  305. int(22)
  306. bool(false)
  307. string(%d) "^^^water^^ ^^fruit^^^
  308. "
  309. -- file opened in w+ --
  310. int(22)
  311. int(22)
  312. bool(false)
  313. string(22) "^^^water^^ ^^fruit^^^
  314. "
  315. -- file opened in w+b --
  316. int(22)
  317. int(22)
  318. bool(false)
  319. string(22) "^^^water^^ ^^fruit^^^
  320. "
  321. -- file opened in w+t --
  322. int(22)
  323. int(22)
  324. bool(false)
  325. string(%d) "^^^water^^ ^^fruit^^^
  326. "
  327. -- file opened in x+ --
  328. int(22)
  329. int(22)
  330. bool(false)
  331. string(22) "^^^water^^ ^^fruit^^^
  332. "
  333. -- file opened in x+b --
  334. int(22)
  335. int(22)
  336. bool(false)
  337. string(22) "^^^water^^ ^^fruit^^^
  338. "
  339. -- file opened in x+t --
  340. int(22)
  341. int(22)
  342. bool(false)
  343. string(%d) "^^^water^^ ^^fruit^^^
  344. "
  345. -- file opened in r+ --
  346. int(22)
  347. int(22)
  348. bool(false)
  349. string(22) "&&&water&&:&&fruit&&&
  350. "
  351. -- file opened in r+b --
  352. int(22)
  353. int(22)
  354. bool(false)
  355. string(22) "&&&water&&:&&fruit&&&
  356. "
  357. -- file opened in r+t --
  358. int(22)
  359. int(22)
  360. bool(false)
  361. string(%d) "&&&water&&:&&fruit&&&
  362. "
  363. -- file opened in a+ --
  364. int(22)
  365. int(22)
  366. bool(false)
  367. string(22) "&&&water&&:&&fruit&&&
  368. "
  369. -- file opened in a+b --
  370. int(22)
  371. int(22)
  372. bool(false)
  373. string(22) "&&&water&&:&&fruit&&&
  374. "
  375. -- file opened in a+t --
  376. int(22)
  377. int(22)
  378. bool(false)
  379. string(%d) "&&&water&&:&&fruit&&&
  380. "
  381. -- file opened in w+ --
  382. int(22)
  383. int(22)
  384. bool(false)
  385. string(22) "&&&water&&:&&fruit&&&
  386. "
  387. -- file opened in w+b --
  388. int(22)
  389. int(22)
  390. bool(false)
  391. string(22) "&&&water&&:&&fruit&&&
  392. "
  393. -- file opened in w+t --
  394. int(22)
  395. int(22)
  396. bool(false)
  397. string(%d) "&&&water&&:&&fruit&&&
  398. "
  399. -- file opened in x+ --
  400. int(22)
  401. int(22)
  402. bool(false)
  403. string(22) "&&&water&&:&&fruit&&&
  404. "
  405. -- file opened in x+b --
  406. int(22)
  407. int(22)
  408. bool(false)
  409. string(22) "&&&water&&:&&fruit&&&
  410. "
  411. -- file opened in x+t --
  412. int(22)
  413. int(22)
  414. bool(false)
  415. string(%d) "&&&water&&:&&fruit&&&
  416. "
  417. -- file opened in r+ --
  418. int(23)
  419. int(23)
  420. bool(false)
  421. string(23) "===water======fruit===
  422. "
  423. -- file opened in r+b --
  424. int(23)
  425. int(23)
  426. bool(false)
  427. string(23) "===water======fruit===
  428. "
  429. -- file opened in r+t --
  430. int(23)
  431. int(23)
  432. bool(false)
  433. string(%d) "===water======fruit===
  434. "
  435. -- file opened in a+ --
  436. int(23)
  437. int(23)
  438. bool(false)
  439. string(23) "===water======fruit===
  440. "
  441. -- file opened in a+b --
  442. int(23)
  443. int(23)
  444. bool(false)
  445. string(23) "===water======fruit===
  446. "
  447. -- file opened in a+t --
  448. int(23)
  449. int(23)
  450. bool(false)
  451. string(%d) "===water======fruit===
  452. "
  453. -- file opened in w+ --
  454. int(23)
  455. int(23)
  456. bool(false)
  457. string(23) "===water======fruit===
  458. "
  459. -- file opened in w+b --
  460. int(23)
  461. int(23)
  462. bool(false)
  463. string(23) "===water======fruit===
  464. "
  465. -- file opened in w+t --
  466. int(23)
  467. int(23)
  468. bool(false)
  469. string(%d) "===water======fruit===
  470. "
  471. -- file opened in x+ --
  472. int(23)
  473. int(23)
  474. bool(false)
  475. string(23) "===water======fruit===
  476. "
  477. -- file opened in x+b --
  478. int(23)
  479. int(23)
  480. bool(false)
  481. string(23) "===water======fruit===
  482. "
  483. -- file opened in x+t --
  484. int(23)
  485. int(23)
  486. bool(false)
  487. string(%d) "===water======fruit===
  488. "
  489. -- file opened in r+ --
  490. int(24)
  491. int(24)
  492. bool(false)
  493. string(24) "---water----fruit--air-
  494. "
  495. -- file opened in r+b --
  496. int(24)
  497. int(24)
  498. bool(false)
  499. string(24) "---water----fruit--air-
  500. "
  501. -- file opened in r+t --
  502. int(24)
  503. int(24)
  504. bool(false)
  505. string(%d) "---water----fruit--air-
  506. "
  507. -- file opened in a+ --
  508. int(24)
  509. int(24)
  510. bool(false)
  511. string(24) "---water----fruit--air-
  512. "
  513. -- file opened in a+b --
  514. int(24)
  515. int(24)
  516. bool(false)
  517. string(24) "---water----fruit--air-
  518. "
  519. -- file opened in a+t --
  520. int(24)
  521. int(24)
  522. bool(false)
  523. string(%d) "---water----fruit--air-
  524. "
  525. -- file opened in w+ --
  526. int(24)
  527. int(24)
  528. bool(false)
  529. string(24) "---water----fruit--air-
  530. "
  531. -- file opened in w+b --
  532. int(24)
  533. int(24)
  534. bool(false)
  535. string(24) "---water----fruit--air-
  536. "
  537. -- file opened in w+t --
  538. int(24)
  539. int(24)
  540. bool(false)
  541. string(%d) "---water----fruit--air-
  542. "
  543. -- file opened in x+ --
  544. int(24)
  545. int(24)
  546. bool(false)
  547. string(24) "---water----fruit--air-
  548. "
  549. -- file opened in x+b --
  550. int(24)
  551. int(24)
  552. bool(false)
  553. string(24) "---water----fruit--air-
  554. "
  555. -- file opened in x+t --
  556. int(24)
  557. int(24)
  558. bool(false)
  559. string(%d) "---water----fruit--air-
  560. "
  561. -- file opened in r+ --
  562. int(32)
  563. int(32)
  564. bool(false)
  565. string(32) "---water------fruit------air---
  566. "
  567. -- file opened in r+b --
  568. int(32)
  569. int(32)
  570. bool(false)
  571. string(32) "---water------fruit------air---
  572. "
  573. -- file opened in r+t --
  574. int(32)
  575. int(32)
  576. bool(false)
  577. string(%d) "---water------fruit------air---
  578. "
  579. -- file opened in a+ --
  580. int(32)
  581. int(32)
  582. bool(false)
  583. string(32) "---water------fruit------air---
  584. "
  585. -- file opened in a+b --
  586. int(32)
  587. int(32)
  588. bool(false)
  589. string(32) "---water------fruit------air---
  590. "
  591. -- file opened in a+t --
  592. int(32)
  593. int(32)
  594. bool(false)
  595. string(%d) "---water------fruit------air---
  596. "
  597. -- file opened in w+ --
  598. int(32)
  599. int(32)
  600. bool(false)
  601. string(32) "---water------fruit------air---
  602. "
  603. -- file opened in w+b --
  604. int(32)
  605. int(32)
  606. bool(false)
  607. string(32) "---water------fruit------air---
  608. "
  609. -- file opened in w+t --
  610. int(32)
  611. int(32)
  612. bool(false)
  613. string(%d) "---water------fruit------air---
  614. "
  615. -- file opened in x+ --
  616. int(32)
  617. int(32)
  618. bool(false)
  619. string(32) "---water------fruit------air---
  620. "
  621. -- file opened in x+b --
  622. int(32)
  623. int(32)
  624. bool(false)
  625. string(32) "---water------fruit------air---
  626. "
  627. -- file opened in x+t --
  628. int(32)
  629. int(32)
  630. bool(false)
  631. string(%d) "---water------fruit------air---
  632. "
  633. -- file opened in r+ --
  634. int(32)
  635. int(32)
  636. bool(false)
  637. string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
  638. "
  639. -- file opened in r+b --
  640. int(32)
  641. int(32)
  642. bool(false)
  643. string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
  644. "
  645. -- file opened in r+t --
  646. int(32)
  647. int(32)
  648. bool(false)
  649. string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
  650. "
  651. -- file opened in a+ --
  652. int(32)
  653. int(32)
  654. bool(false)
  655. string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
  656. "
  657. -- file opened in a+b --
  658. int(32)
  659. int(32)
  660. bool(false)
  661. string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
  662. "
  663. -- file opened in a+t --
  664. int(32)
  665. int(32)
  666. bool(false)
  667. string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
  668. "
  669. -- file opened in w+ --
  670. int(32)
  671. int(32)
  672. bool(false)
  673. string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
  674. "
  675. -- file opened in w+b --
  676. int(32)
  677. int(32)
  678. bool(false)
  679. string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
  680. "
  681. -- file opened in w+t --
  682. int(32)
  683. int(32)
  684. bool(false)
  685. string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
  686. "
  687. -- file opened in x+ --
  688. int(32)
  689. int(32)
  690. bool(false)
  691. string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
  692. "
  693. -- file opened in x+b --
  694. int(32)
  695. int(32)
  696. bool(false)
  697. string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
  698. "
  699. -- file opened in x+t --
  700. int(32)
  701. int(32)
  702. bool(false)
  703. string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
  704. "
  705. Done