fputcsv_variation5.phpt 12 KB

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