Return to fputcsv_variation7.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 same 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 enclosure is same but delimiter is different from those 12: present in the field to be written to the file 13: */ 14: 15: echo "*** Testing fputcsv() : with different delimiter and same 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_variation7.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, '+', $enclosure) ); 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 same 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(20) 167: int(20) 168: bool(false) 169: string(20) """"water"",""fruit" 170: " 171: 172: -- file opened in r+b -- 173: int(20) 174: int(20) 175: bool(false) 176: string(20) """"water"",""fruit" 177: " 178: 179: -- file opened in r+t -- 180: int(20) 181: int(20) 182: bool(false) 183: string(%d) """"water"",""fruit" 184: " 185: 186: -- file opened in a+ -- 187: int(20) 188: int(20) 189: bool(false) 190: string(20) """"water"",""fruit" 191: " 192: 193: -- file opened in a+b -- 194: int(20) 195: int(20) 196: bool(false) 197: string(20) """"water"",""fruit" 198: " 199: 200: -- file opened in a+t -- 201: int(20) 202: int(20) 203: bool(false) 204: string(%d) """"water"",""fruit" 205: " 206: 207: -- file opened in w+ -- 208: int(20) 209: int(20) 210: bool(false) 211: string(20) """"water"",""fruit" 212: " 213: 214: -- file opened in w+b -- 215: int(20) 216: int(20) 217: bool(false) 218: string(20) """"water"",""fruit" 219: " 220: 221: -- file opened in w+t -- 222: int(20) 223: int(20) 224: bool(false) 225: string(%d) """"water"",""fruit" 226: " 227: 228: -- file opened in x+ -- 229: int(20) 230: int(20) 231: bool(false) 232: string(20) """"water"",""fruit" 233: " 234: 235: -- file opened in x+b -- 236: int(20) 237: int(20) 238: bool(false) 239: string(20) """"water"",""fruit" 240: " 241: 242: -- file opened in x+t -- 243: int(20) 244: int(20) 245: bool(false) 246: string(%d) """"water"",""fruit" 247: " 248: 249: -- file opened in r+ -- 250: int(22) 251: int(22) 252: bool(false) 253: string(22) """"water"",""fruit""" 254: " 255: 256: -- file opened in r+b -- 257: int(22) 258: int(22) 259: bool(false) 260: string(22) """"water"",""fruit""" 261: " 262: 263: -- file opened in r+t -- 264: int(22) 265: int(22) 266: bool(false) 267: string(%d) """"water"",""fruit""" 268: " 269: 270: -- file opened in a+ -- 271: int(22) 272: int(22) 273: bool(false) 274: string(22) """"water"",""fruit""" 275: " 276: 277: -- file opened in a+b -- 278: int(22) 279: int(22) 280: bool(false) 281: string(22) """"water"",""fruit""" 282: " 283: 284: -- file opened in a+t -- 285: int(22) 286: int(22) 287: bool(false) 288: string(%d) """"water"",""fruit""" 289: " 290: 291: -- file opened in w+ -- 292: int(22) 293: int(22) 294: bool(false) 295: string(22) """"water"",""fruit""" 296: " 297: 298: -- file opened in w+b -- 299: int(22) 300: int(22) 301: bool(false) 302: string(22) """"water"",""fruit""" 303: " 304: 305: -- file opened in w+t -- 306: int(22) 307: int(22) 308: bool(false) 309: string(%d) """"water"",""fruit""" 310: " 311: 312: -- file opened in x+ -- 313: int(22) 314: int(22) 315: bool(false) 316: string(22) """"water"",""fruit""" 317: " 318: 319: -- file opened in x+b -- 320: int(22) 321: int(22) 322: bool(false) 323: string(22) """"water"",""fruit""" 324: " 325: 326: -- file opened in x+t -- 327: int(22) 328: int(22) 329: bool(false) 330: string(%d) """"water"",""fruit""" 331: " 332: 333: -- file opened in r+ -- 334: int(22) 335: int(22) 336: bool(false) 337: string(22) "^^^water^^ ^^fruit^^^ 338: " 339: 340: -- file opened in r+b -- 341: int(22) 342: int(22) 343: bool(false) 344: string(22) "^^^water^^ ^^fruit^^^ 345: " 346: 347: -- file opened in r+t -- 348: int(22) 349: int(22) 350: bool(false) 351: string(%d) "^^^water^^ ^^fruit^^^ 352: " 353: 354: -- file opened in a+ -- 355: int(22) 356: int(22) 357: bool(false) 358: string(22) "^^^water^^ ^^fruit^^^ 359: " 360: 361: -- file opened in a+b -- 362: int(22) 363: int(22) 364: bool(false) 365: string(22) "^^^water^^ ^^fruit^^^ 366: " 367: 368: -- file opened in a+t -- 369: int(22) 370: int(22) 371: bool(false) 372: string(%d) "^^^water^^ ^^fruit^^^ 373: " 374: 375: -- file opened in w+ -- 376: int(22) 377: int(22) 378: bool(false) 379: string(22) "^^^water^^ ^^fruit^^^ 380: " 381: 382: -- file opened in w+b -- 383: int(22) 384: int(22) 385: bool(false) 386: string(22) "^^^water^^ ^^fruit^^^ 387: " 388: 389: -- file opened in w+t -- 390: int(22) 391: int(22) 392: bool(false) 393: string(%d) "^^^water^^ ^^fruit^^^ 394: " 395: 396: -- file opened in x+ -- 397: int(22) 398: int(22) 399: bool(false) 400: string(22) "^^^water^^ ^^fruit^^^ 401: " 402: 403: -- file opened in x+b -- 404: int(22) 405: int(22) 406: bool(false) 407: string(22) "^^^water^^ ^^fruit^^^ 408: " 409: 410: -- file opened in x+t -- 411: int(22) 412: int(22) 413: bool(false) 414: string(%d) "^^^water^^ ^^fruit^^^ 415: " 416: 417: -- file opened in r+ -- 418: int(22) 419: int(22) 420: bool(false) 421: string(22) "&&&water&&:&&fruit&&& 422: " 423: 424: -- file opened in r+b -- 425: int(22) 426: int(22) 427: bool(false) 428: string(22) "&&&water&&:&&fruit&&& 429: " 430: 431: -- file opened in r+t -- 432: int(22) 433: int(22) 434: bool(false) 435: string(%d) "&&&water&&:&&fruit&&& 436: " 437: 438: -- file opened in a+ -- 439: int(22) 440: int(22) 441: bool(false) 442: string(22) "&&&water&&:&&fruit&&& 443: " 444: 445: -- file opened in a+b -- 446: int(22) 447: int(22) 448: bool(false) 449: string(22) "&&&water&&:&&fruit&&& 450: " 451: 452: -- file opened in a+t -- 453: int(22) 454: int(22) 455: bool(false) 456: string(%d) "&&&water&&:&&fruit&&& 457: " 458: 459: -- file opened in w+ -- 460: int(22) 461: int(22) 462: bool(false) 463: string(22) "&&&water&&:&&fruit&&& 464: " 465: 466: -- file opened in w+b -- 467: int(22) 468: int(22) 469: bool(false) 470: string(22) "&&&water&&:&&fruit&&& 471: " 472: 473: -- file opened in w+t -- 474: int(22) 475: int(22) 476: bool(false) 477: string(%d) "&&&water&&:&&fruit&&& 478: " 479: 480: -- file opened in x+ -- 481: int(22) 482: int(22) 483: bool(false) 484: string(22) "&&&water&&:&&fruit&&& 485: " 486: 487: -- file opened in x+b -- 488: int(22) 489: int(22) 490: bool(false) 491: string(22) "&&&water&&:&&fruit&&& 492: " 493: 494: -- file opened in x+t -- 495: int(22) 496: int(22) 497: bool(false) 498: string(%d) "&&&water&&:&&fruit&&& 499: " 500: 501: -- file opened in r+ -- 502: int(23) 503: int(23) 504: bool(false) 505: string(23) "===water======fruit=== 506: " 507: 508: -- file opened in r+b -- 509: int(23) 510: int(23) 511: bool(false) 512: string(23) "===water======fruit=== 513: " 514: 515: -- file opened in r+t -- 516: int(23) 517: int(23) 518: bool(false) 519: string(%d) "===water======fruit=== 520: " 521: 522: -- file opened in a+ -- 523: int(23) 524: int(23) 525: bool(false) 526: string(23) "===water======fruit=== 527: " 528: 529: -- file opened in a+b -- 530: int(23) 531: int(23) 532: bool(false) 533: string(23) "===water======fruit=== 534: " 535: 536: -- file opened in a+t -- 537: int(23) 538: int(23) 539: bool(false) 540: string(%d) "===water======fruit=== 541: " 542: 543: -- file opened in w+ -- 544: int(23) 545: int(23) 546: bool(false) 547: string(23) "===water======fruit=== 548: " 549: 550: -- file opened in w+b -- 551: int(23) 552: int(23) 553: bool(false) 554: string(23) "===water======fruit=== 555: " 556: 557: -- file opened in w+t -- 558: int(23) 559: int(23) 560: bool(false) 561: string(%d) "===water======fruit=== 562: " 563: 564: -- file opened in x+ -- 565: int(23) 566: int(23) 567: bool(false) 568: string(23) "===water======fruit=== 569: " 570: 571: -- file opened in x+b -- 572: int(23) 573: int(23) 574: bool(false) 575: string(23) "===water======fruit=== 576: " 577: 578: -- file opened in x+t -- 579: int(23) 580: int(23) 581: bool(false) 582: string(%d) "===water======fruit=== 583: " 584: 585: -- file opened in r+ -- 586: int(24) 587: int(24) 588: bool(false) 589: string(24) "---water----fruit--air- 590: " 591: 592: -- file opened in r+b -- 593: int(24) 594: int(24) 595: bool(false) 596: string(24) "---water----fruit--air- 597: " 598: 599: -- file opened in r+t -- 600: int(24) 601: int(24) 602: bool(false) 603: string(%d) "---water----fruit--air- 604: " 605: 606: -- file opened in a+ -- 607: int(24) 608: int(24) 609: bool(false) 610: string(24) "---water----fruit--air- 611: " 612: 613: -- file opened in a+b -- 614: int(24) 615: int(24) 616: bool(false) 617: string(24) "---water----fruit--air- 618: " 619: 620: -- file opened in a+t -- 621: int(24) 622: int(24) 623: bool(false) 624: string(%d) "---water----fruit--air- 625: " 626: 627: -- file opened in w+ -- 628: int(24) 629: int(24) 630: bool(false) 631: string(24) "---water----fruit--air- 632: " 633: 634: -- file opened in w+b -- 635: int(24) 636: int(24) 637: bool(false) 638: string(24) "---water----fruit--air- 639: " 640: 641: -- file opened in w+t -- 642: int(24) 643: int(24) 644: bool(false) 645: string(%d) "---water----fruit--air- 646: " 647: 648: -- file opened in x+ -- 649: int(24) 650: int(24) 651: bool(false) 652: string(24) "---water----fruit--air- 653: " 654: 655: -- file opened in x+b -- 656: int(24) 657: int(24) 658: bool(false) 659: string(24) "---water----fruit--air- 660: " 661: 662: -- file opened in x+t -- 663: int(24) 664: int(24) 665: bool(false) 666: string(%d) "---water----fruit--air- 667: " 668: 669: -- file opened in r+ -- 670: int(32) 671: int(32) 672: bool(false) 673: string(32) "---water------fruit------air--- 674: " 675: 676: -- file opened in r+b -- 677: int(32) 678: int(32) 679: bool(false) 680: string(32) "---water------fruit------air--- 681: " 682: 683: -- file opened in r+t -- 684: int(32) 685: int(32) 686: bool(false) 687: string(%d) "---water------fruit------air--- 688: " 689: 690: -- file opened in a+ -- 691: int(32) 692: int(32) 693: bool(false) 694: string(32) "---water------fruit------air--- 695: " 696: 697: -- file opened in a+b -- 698: int(32) 699: int(32) 700: bool(false) 701: string(32) "---water------fruit------air--- 702: " 703: 704: -- file opened in a+t -- 705: int(32) 706: int(32) 707: bool(false) 708: string(%d) "---water------fruit------air--- 709: " 710: 711: -- file opened in w+ -- 712: int(32) 713: int(32) 714: bool(false) 715: string(32) "---water------fruit------air--- 716: " 717: 718: -- file opened in w+b -- 719: int(32) 720: int(32) 721: bool(false) 722: string(32) "---water------fruit------air--- 723: " 724: 725: -- file opened in w+t -- 726: int(32) 727: int(32) 728: bool(false) 729: string(%d) "---water------fruit------air--- 730: " 731: 732: -- file opened in x+ -- 733: int(32) 734: int(32) 735: bool(false) 736: string(32) "---water------fruit------air--- 737: " 738: 739: -- file opened in x+b -- 740: int(32) 741: int(32) 742: bool(false) 743: string(32) "---water------fruit------air--- 744: " 745: 746: -- file opened in x+t -- 747: int(32) 748: int(32) 749: bool(false) 750: string(%d) "---water------fruit------air--- 751: " 752: 753: -- file opened in r+ -- 754: int(32) 755: int(32) 756: bool(false) 757: string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,& 758: " 759: 760: -- file opened in r+b -- 761: int(32) 762: int(32) 763: bool(false) 764: string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,& 765: " 766: 767: -- file opened in r+t -- 768: int(32) 769: int(32) 770: bool(false) 771: string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,& 772: " 773: 774: -- file opened in a+ -- 775: int(32) 776: int(32) 777: bool(false) 778: string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,& 779: " 780: 781: -- file opened in a+b -- 782: int(32) 783: int(32) 784: bool(false) 785: string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,& 786: " 787: 788: -- file opened in a+t -- 789: int(32) 790: int(32) 791: bool(false) 792: string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,& 793: " 794: 795: -- file opened in w+ -- 796: int(32) 797: int(32) 798: bool(false) 799: string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,& 800: " 801: 802: -- file opened in w+b -- 803: int(32) 804: int(32) 805: bool(false) 806: string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,& 807: " 808: 809: -- file opened in w+t -- 810: int(32) 811: int(32) 812: bool(false) 813: string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,& 814: " 815: 816: -- file opened in x+ -- 817: int(32) 818: int(32) 819: bool(false) 820: string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,& 821: " 822: 823: -- file opened in x+b -- 824: int(32) 825: int(32) 826: bool(false) 827: string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,& 828: " 829: 830: -- file opened in x+t -- 831: int(32) 832: int(32) 833: bool(false) 834: string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,& 835: " 836: Done 837: