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