Return to fputcsv_variation8.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
1.1 misho 1: --TEST-- 2: Test fputcsv() : usage variations - with same delimiter and different 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 is same but enclosure is different from those 12: present in the field to be written to the file 13: */ 14: 15: echo "*** Testing fputcsv() : with same delimiter and different 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_variation8.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, $delimiter, '+') ); 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 same delimiter and different enclosure *** 80: 81: -- file opened in r+ -- 82: int(14) 83: int(14) 84: bool(false) 85: string(14) "+water,fruit+ 86: " 87: 88: -- file opened in r+b -- 89: int(14) 90: int(14) 91: bool(false) 92: string(14) "+water,fruit+ 93: " 94: 95: -- file opened in r+t -- 96: int(14) 97: int(14) 98: bool(false) 99: string(%d) "+water,fruit+ 100: " 101: 102: -- file opened in a+ -- 103: int(14) 104: int(14) 105: bool(false) 106: string(14) "+water,fruit+ 107: " 108: 109: -- file opened in a+b -- 110: int(14) 111: int(14) 112: bool(false) 113: string(14) "+water,fruit+ 114: " 115: 116: -- file opened in a+t -- 117: int(14) 118: int(14) 119: bool(false) 120: string(%d) "+water,fruit+ 121: " 122: 123: -- file opened in w+ -- 124: int(14) 125: int(14) 126: bool(false) 127: string(14) "+water,fruit+ 128: " 129: 130: -- file opened in w+b -- 131: int(14) 132: int(14) 133: bool(false) 134: string(14) "+water,fruit+ 135: " 136: 137: -- file opened in w+t -- 138: int(14) 139: int(14) 140: bool(false) 141: string(%d) "+water,fruit+ 142: " 143: 144: -- file opened in x+ -- 145: int(14) 146: int(14) 147: bool(false) 148: string(14) "+water,fruit+ 149: " 150: 151: -- file opened in x+b -- 152: int(14) 153: int(14) 154: bool(false) 155: string(14) "+water,fruit+ 156: " 157: 158: -- file opened in x+t -- 159: int(14) 160: int(14) 161: bool(false) 162: string(%d) "+water,fruit+ 163: " 164: 165: -- file opened in r+ -- 166: int(17) 167: int(17) 168: bool(false) 169: string(17) "+"water","fruit+ 170: " 171: 172: -- file opened in r+b -- 173: int(17) 174: int(17) 175: bool(false) 176: string(17) "+"water","fruit+ 177: " 178: 179: -- file opened in r+t -- 180: int(17) 181: int(17) 182: bool(false) 183: string(%d) "+"water","fruit+ 184: " 185: 186: -- file opened in a+ -- 187: int(17) 188: int(17) 189: bool(false) 190: string(17) "+"water","fruit+ 191: " 192: 193: -- file opened in a+b -- 194: int(17) 195: int(17) 196: bool(false) 197: string(17) "+"water","fruit+ 198: " 199: 200: -- file opened in a+t -- 201: int(17) 202: int(17) 203: bool(false) 204: string(%d) "+"water","fruit+ 205: " 206: 207: -- file opened in w+ -- 208: int(17) 209: int(17) 210: bool(false) 211: string(17) "+"water","fruit+ 212: " 213: 214: -- file opened in w+b -- 215: int(17) 216: int(17) 217: bool(false) 218: string(17) "+"water","fruit+ 219: " 220: 221: -- file opened in w+t -- 222: int(17) 223: int(17) 224: bool(false) 225: string(%d) "+"water","fruit+ 226: " 227: 228: -- file opened in x+ -- 229: int(17) 230: int(17) 231: bool(false) 232: string(17) "+"water","fruit+ 233: " 234: 235: -- file opened in x+b -- 236: int(17) 237: int(17) 238: bool(false) 239: string(17) "+"water","fruit+ 240: " 241: 242: -- file opened in x+t -- 243: int(17) 244: int(17) 245: bool(false) 246: string(%d) "+"water","fruit+ 247: " 248: 249: -- file opened in r+ -- 250: int(18) 251: int(18) 252: bool(false) 253: string(18) "+"water","fruit"+ 254: " 255: 256: -- file opened in r+b -- 257: int(18) 258: int(18) 259: bool(false) 260: string(18) "+"water","fruit"+ 261: " 262: 263: -- file opened in r+t -- 264: int(18) 265: int(18) 266: bool(false) 267: string(%d) "+"water","fruit"+ 268: " 269: 270: -- file opened in a+ -- 271: int(18) 272: int(18) 273: bool(false) 274: string(18) "+"water","fruit"+ 275: " 276: 277: -- file opened in a+b -- 278: int(18) 279: int(18) 280: bool(false) 281: string(18) "+"water","fruit"+ 282: " 283: 284: -- file opened in a+t -- 285: int(18) 286: int(18) 287: bool(false) 288: string(%d) "+"water","fruit"+ 289: " 290: 291: -- file opened in w+ -- 292: int(18) 293: int(18) 294: bool(false) 295: string(18) "+"water","fruit"+ 296: " 297: 298: -- file opened in w+b -- 299: int(18) 300: int(18) 301: bool(false) 302: string(18) "+"water","fruit"+ 303: " 304: 305: -- file opened in w+t -- 306: int(18) 307: int(18) 308: bool(false) 309: string(%d) "+"water","fruit"+ 310: " 311: 312: -- file opened in x+ -- 313: int(18) 314: int(18) 315: bool(false) 316: string(18) "+"water","fruit"+ 317: " 318: 319: -- file opened in x+b -- 320: int(18) 321: int(18) 322: bool(false) 323: string(18) "+"water","fruit"+ 324: " 325: 326: -- file opened in x+t -- 327: int(18) 328: int(18) 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(18) 419: int(18) 420: bool(false) 421: string(18) "+&water&:&fruit&+ 422: " 423: 424: -- file opened in r+b -- 425: int(18) 426: int(18) 427: bool(false) 428: string(18) "+&water&:&fruit&+ 429: " 430: 431: -- file opened in r+t -- 432: int(18) 433: int(18) 434: bool(false) 435: string(%d) "+&water&:&fruit&+ 436: " 437: 438: -- file opened in a+ -- 439: int(18) 440: int(18) 441: bool(false) 442: string(18) "+&water&:&fruit&+ 443: " 444: 445: -- file opened in a+b -- 446: int(18) 447: int(18) 448: bool(false) 449: string(18) "+&water&:&fruit&+ 450: " 451: 452: -- file opened in a+t -- 453: int(18) 454: int(18) 455: bool(false) 456: string(%d) "+&water&:&fruit&+ 457: " 458: 459: -- file opened in w+ -- 460: int(18) 461: int(18) 462: bool(false) 463: string(18) "+&water&:&fruit&+ 464: " 465: 466: -- file opened in w+b -- 467: int(18) 468: int(18) 469: bool(false) 470: string(18) "+&water&:&fruit&+ 471: " 472: 473: -- file opened in w+t -- 474: int(18) 475: int(18) 476: bool(false) 477: string(%d) "+&water&:&fruit&+ 478: " 479: 480: -- file opened in x+ -- 481: int(18) 482: int(18) 483: bool(false) 484: string(18) "+&water&:&fruit&+ 485: " 486: 487: -- file opened in x+b -- 488: int(18) 489: int(18) 490: bool(false) 491: string(18) "+&water&:&fruit&+ 492: " 493: 494: -- file opened in x+t -- 495: int(18) 496: int(18) 497: bool(false) 498: string(%d) "+&water&:&fruit&+ 499: " 500: 501: -- file opened in r+ -- 502: int(18) 503: int(18) 504: bool(false) 505: string(18) "+=water===fruit=+ 506: " 507: 508: -- file opened in r+b -- 509: int(18) 510: int(18) 511: bool(false) 512: string(18) "+=water===fruit=+ 513: " 514: 515: -- file opened in r+t -- 516: int(18) 517: int(18) 518: bool(false) 519: string(%d) "+=water===fruit=+ 520: " 521: 522: -- file opened in a+ -- 523: int(18) 524: int(18) 525: bool(false) 526: string(18) "+=water===fruit=+ 527: " 528: 529: -- file opened in a+b -- 530: int(18) 531: int(18) 532: bool(false) 533: string(18) "+=water===fruit=+ 534: " 535: 536: -- file opened in a+t -- 537: int(18) 538: int(18) 539: bool(false) 540: string(%d) "+=water===fruit=+ 541: " 542: 543: -- file opened in w+ -- 544: int(18) 545: int(18) 546: bool(false) 547: string(18) "+=water===fruit=+ 548: " 549: 550: -- file opened in w+b -- 551: int(18) 552: int(18) 553: bool(false) 554: string(18) "+=water===fruit=+ 555: " 556: 557: -- file opened in w+t -- 558: int(18) 559: int(18) 560: bool(false) 561: string(%d) "+=water===fruit=+ 562: " 563: 564: -- file opened in x+ -- 565: int(18) 566: int(18) 567: bool(false) 568: string(18) "+=water===fruit=+ 569: " 570: 571: -- file opened in x+b -- 572: int(18) 573: int(18) 574: bool(false) 575: string(18) "+=water===fruit=+ 576: " 577: 578: -- file opened in x+t -- 579: int(18) 580: int(18) 581: bool(false) 582: string(%d) "+=water===fruit=+ 583: " 584: 585: -- file opened in r+ -- 586: int(20) 587: int(20) 588: bool(false) 589: string(20) "+-water--fruit-air+ 590: " 591: 592: -- file opened in r+b -- 593: int(20) 594: int(20) 595: bool(false) 596: string(20) "+-water--fruit-air+ 597: " 598: 599: -- file opened in r+t -- 600: int(20) 601: int(20) 602: bool(false) 603: string(%d) "+-water--fruit-air+ 604: " 605: 606: -- file opened in a+ -- 607: int(20) 608: int(20) 609: bool(false) 610: string(20) "+-water--fruit-air+ 611: " 612: 613: -- file opened in a+b -- 614: int(20) 615: int(20) 616: bool(false) 617: string(20) "+-water--fruit-air+ 618: " 619: 620: -- file opened in a+t -- 621: int(20) 622: int(20) 623: bool(false) 624: string(%d) "+-water--fruit-air+ 625: " 626: 627: -- file opened in w+ -- 628: int(20) 629: int(20) 630: bool(false) 631: string(20) "+-water--fruit-air+ 632: " 633: 634: -- file opened in w+b -- 635: int(20) 636: int(20) 637: bool(false) 638: string(20) "+-water--fruit-air+ 639: " 640: 641: -- file opened in w+t -- 642: int(20) 643: int(20) 644: bool(false) 645: string(%d) "+-water--fruit-air+ 646: " 647: 648: -- file opened in x+ -- 649: int(20) 650: int(20) 651: bool(false) 652: string(20) "+-water--fruit-air+ 653: " 654: 655: -- file opened in x+b -- 656: int(20) 657: int(20) 658: bool(false) 659: string(20) "+-water--fruit-air+ 660: " 661: 662: -- file opened in x+t -- 663: int(20) 664: int(20) 665: bool(false) 666: string(%d) "+-water--fruit-air+ 667: " 668: 669: -- file opened in r+ -- 670: int(24) 671: int(24) 672: bool(false) 673: string(24) "+-water---fruit---air-+ 674: " 675: 676: -- file opened in r+b -- 677: int(24) 678: int(24) 679: bool(false) 680: string(24) "+-water---fruit---air-+ 681: " 682: 683: -- file opened in r+t -- 684: int(24) 685: int(24) 686: bool(false) 687: string(%d) "+-water---fruit---air-+ 688: " 689: 690: -- file opened in a+ -- 691: int(24) 692: int(24) 693: bool(false) 694: string(24) "+-water---fruit---air-+ 695: " 696: 697: -- file opened in a+b -- 698: int(24) 699: int(24) 700: bool(false) 701: string(24) "+-water---fruit---air-+ 702: " 703: 704: -- file opened in a+t -- 705: int(24) 706: int(24) 707: bool(false) 708: string(%d) "+-water---fruit---air-+ 709: " 710: 711: -- file opened in w+ -- 712: int(24) 713: int(24) 714: bool(false) 715: string(24) "+-water---fruit---air-+ 716: " 717: 718: -- file opened in w+b -- 719: int(24) 720: int(24) 721: bool(false) 722: string(24) "+-water---fruit---air-+ 723: " 724: 725: -- file opened in w+t -- 726: int(24) 727: int(24) 728: bool(false) 729: string(%d) "+-water---fruit---air-+ 730: " 731: 732: -- file opened in x+ -- 733: int(24) 734: int(24) 735: bool(false) 736: string(24) "+-water---fruit---air-+ 737: " 738: 739: -- file opened in x+b -- 740: int(24) 741: int(24) 742: bool(false) 743: string(24) "+-water---fruit---air-+ 744: " 745: 746: -- file opened in x+t -- 747: int(24) 748: int(24) 749: bool(false) 750: string(%d) "+-water---fruit---air-+ 751: " 752: 753: -- file opened in r+ -- 754: int(26) 755: int(26) 756: bool(false) 757: string(26) "+&""""&:&"&:,:":&,&:,,,,+ 758: " 759: 760: -- file opened in r+b -- 761: int(26) 762: int(26) 763: bool(false) 764: string(26) "+&""""&:&"&:,:":&,&:,,,,+ 765: " 766: 767: -- file opened in r+t -- 768: int(26) 769: int(26) 770: bool(false) 771: string(%d) "+&""""&:&"&:,:":&,&:,,,,+ 772: " 773: 774: -- file opened in a+ -- 775: int(26) 776: int(26) 777: bool(false) 778: string(26) "+&""""&:&"&:,:":&,&:,,,,+ 779: " 780: 781: -- file opened in a+b -- 782: int(26) 783: int(26) 784: bool(false) 785: string(26) "+&""""&:&"&:,:":&,&:,,,,+ 786: " 787: 788: -- file opened in a+t -- 789: int(26) 790: int(26) 791: bool(false) 792: string(%d) "+&""""&:&"&:,:":&,&:,,,,+ 793: " 794: 795: -- file opened in w+ -- 796: int(26) 797: int(26) 798: bool(false) 799: string(26) "+&""""&:&"&:,:":&,&:,,,,+ 800: " 801: 802: -- file opened in w+b -- 803: int(26) 804: int(26) 805: bool(false) 806: string(26) "+&""""&:&"&:,:":&,&:,,,,+ 807: " 808: 809: -- file opened in w+t -- 810: int(26) 811: int(26) 812: bool(false) 813: string(%d) "+&""""&:&"&:,:":&,&:,,,,+ 814: " 815: 816: -- file opened in x+ -- 817: int(26) 818: int(26) 819: bool(false) 820: string(26) "+&""""&:&"&:,:":&,&:,,,,+ 821: " 822: 823: -- file opened in x+b -- 824: int(26) 825: int(26) 826: bool(false) 827: string(26) "+&""""&:&"&:,:":&,&:,,,,+ 828: " 829: 830: -- file opened in x+t -- 831: int(26) 832: int(26) 833: bool(false) 834: string(%d) "+&""""&:&"&:,:":&,&:,,,,+ 835: " 836: Done 837: