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