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