fputcsv_variation1.phpt 12 KB

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