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