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