Return to fputcsv_variation6.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 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: