SplFileObject_fputcsv_variation5.phpt 11 KB

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