1--TEST-- 2Test fputcsv() : usage variations - with line without any csv fields 3--FILE-- 4<?php 5/* Testing fputcsv() to write to a file when the field has no CSV format */ 6 7echo "*** Testing fputcsv() : with no CSV format in the field ***\n"; 8 9/* the array is with three elements in it. Each element should be read as 10 1st element is delimiter, 2nd element is enclosure 11 and 3rd element is csv fields 12*/ 13 14$fields = array( array('water_fruit\n'), 15 array("water_fruit\n"), 16 array("") 17 ); 18 19$file_path = __DIR__; 20$filename = "$file_path/fputcsv_variation10.tmp"; 21 22$file_modes = array ("r+", "r+b", "r+t", 23 "a+", "a+b", "a+t", 24 "w+", "w+b", "w+t", 25 "x+", "x+b", "x+t"); 26 27$loop_counter = 1; 28foreach ($fields as $field) { 29 for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) { 30 31 echo "\n-- file opened in $file_modes[$mode_counter] --\n"; 32 // create the file and add the content with has csv fields 33 if ( strstr($file_modes[$mode_counter], "r") ) { 34 $file_handle = fopen($filename, "w"); 35 } else { 36 $file_handle = fopen($filename, $file_modes[$mode_counter] ); 37 } 38 if ( !$file_handle ) { 39 echo "Error: failed to create file $filename!\n"; 40 exit(); 41 } 42 $csv_field = $field; 43 44 // write to a file in csv format 45 var_dump( fputcsv($file_handle, $csv_field, escape: "\\") ); 46 47 // check the file pointer position and eof 48 var_dump( ftell($file_handle) ); 49 var_dump( feof($file_handle) ); 50 //close the file 51 fclose($file_handle); 52 53 // print the file contents 54 var_dump( file_get_contents($filename) ); 55 56 //delete file 57 unlink($filename); 58 } //end of mode loop 59} // end of foreach 60 61echo "Done\n"; 62?> 63--EXPECTF-- 64*** Testing fputcsv() : with no CSV format in the field *** 65 66-- file opened in r+ -- 67int(16) 68int(16) 69bool(false) 70string(16) ""water_fruit\n" 71" 72 73-- file opened in r+b -- 74int(16) 75int(16) 76bool(false) 77string(16) ""water_fruit\n" 78" 79 80-- file opened in r+t -- 81int(16) 82int(16) 83bool(false) 84string(%d) ""water_fruit\n" 85" 86 87-- file opened in a+ -- 88int(16) 89int(16) 90bool(false) 91string(16) ""water_fruit\n" 92" 93 94-- file opened in a+b -- 95int(16) 96int(16) 97bool(false) 98string(16) ""water_fruit\n" 99" 100 101-- file opened in a+t -- 102int(16) 103int(16) 104bool(false) 105string(%d) ""water_fruit\n" 106" 107 108-- file opened in w+ -- 109int(16) 110int(16) 111bool(false) 112string(16) ""water_fruit\n" 113" 114 115-- file opened in w+b -- 116int(16) 117int(16) 118bool(false) 119string(16) ""water_fruit\n" 120" 121 122-- file opened in w+t -- 123int(16) 124int(16) 125bool(false) 126string(%d) ""water_fruit\n" 127" 128 129-- file opened in x+ -- 130int(16) 131int(16) 132bool(false) 133string(16) ""water_fruit\n" 134" 135 136-- file opened in x+b -- 137int(16) 138int(16) 139bool(false) 140string(16) ""water_fruit\n" 141" 142 143-- file opened in x+t -- 144int(16) 145int(16) 146bool(false) 147string(%d) ""water_fruit\n" 148" 149 150-- file opened in r+ -- 151int(15) 152int(15) 153bool(false) 154string(15) ""water_fruit 155" 156" 157 158-- file opened in r+b -- 159int(15) 160int(15) 161bool(false) 162string(15) ""water_fruit 163" 164" 165 166-- file opened in r+t -- 167int(15) 168int(15) 169bool(false) 170string(%d) ""water_fruit 171" 172" 173 174-- file opened in a+ -- 175int(15) 176int(15) 177bool(false) 178string(15) ""water_fruit 179" 180" 181 182-- file opened in a+b -- 183int(15) 184int(15) 185bool(false) 186string(15) ""water_fruit 187" 188" 189 190-- file opened in a+t -- 191int(15) 192int(15) 193bool(false) 194string(%d) ""water_fruit 195" 196" 197 198-- file opened in w+ -- 199int(15) 200int(15) 201bool(false) 202string(15) ""water_fruit 203" 204" 205 206-- file opened in w+b -- 207int(15) 208int(15) 209bool(false) 210string(15) ""water_fruit 211" 212" 213 214-- file opened in w+t -- 215int(15) 216int(15) 217bool(false) 218string(%d) ""water_fruit 219" 220" 221 222-- file opened in x+ -- 223int(15) 224int(15) 225bool(false) 226string(15) ""water_fruit 227" 228" 229 230-- file opened in x+b -- 231int(15) 232int(15) 233bool(false) 234string(15) ""water_fruit 235" 236" 237 238-- file opened in x+t -- 239int(15) 240int(15) 241bool(false) 242string(%d) ""water_fruit 243" 244" 245 246-- file opened in r+ -- 247int(1) 248int(1) 249bool(false) 250string(1) " 251" 252 253-- file opened in r+b -- 254int(1) 255int(1) 256bool(false) 257string(1) " 258" 259 260-- file opened in r+t -- 261int(1) 262int(1) 263bool(false) 264string(%d) " 265" 266 267-- file opened in a+ -- 268int(1) 269int(1) 270bool(false) 271string(1) " 272" 273 274-- file opened in a+b -- 275int(1) 276int(1) 277bool(false) 278string(1) " 279" 280 281-- file opened in a+t -- 282int(1) 283int(1) 284bool(false) 285string(%d) " 286" 287 288-- file opened in w+ -- 289int(1) 290int(1) 291bool(false) 292string(1) " 293" 294 295-- file opened in w+b -- 296int(1) 297int(1) 298bool(false) 299string(1) " 300" 301 302-- file opened in w+t -- 303int(1) 304int(1) 305bool(false) 306string(%d) " 307" 308 309-- file opened in x+ -- 310int(1) 311int(1) 312bool(false) 313string(1) " 314" 315 316-- file opened in x+b -- 317int(1) 318int(1) 319bool(false) 320string(1) " 321" 322 323-- file opened in x+t -- 324int(1) 325int(1) 326bool(false) 327string(%d) " 328" 329Done 330