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