1--TEST-- 2stream_get_meta_data() with differing file access modes 3--FILE-- 4<?php 5 6// array of all file access modes 7$filemodes = array('r', 'r+', 'w', 'w+', 'a', 'a+', 'x', 'x+', 8 'rb', 'rb+', 'wb', 'wb+', 'ab', 'ab+', 'xb', 'xb+', 9 'rt', 'rt+', 'wt', 'wt+', 'at', 'at+', 'xt', 'xt+'); 10 11//create a file 12$filename = __FILE__ . '.tmp'; 13$fp = fopen($filename, 'w+'); 14fclose($fp); 15 16// open file in each access mode and get meta data 17foreach ($filemodes as $mode) { 18 if (strncmp($mode, 'x', 1) == 0) { 19 // x modes require that file does not exist 20 unlink($filename); 21 } 22 $fp = fopen($filename, $mode); 23 var_dump(stream_get_meta_data($fp)); 24 fclose($fp); 25} 26 27unlink($filename); 28 29?> 30--EXPECTF-- 31array(9) { 32 ["timed_out"]=> 33 bool(false) 34 ["blocked"]=> 35 bool(true) 36 ["eof"]=> 37 bool(false) 38 ["wrapper_type"]=> 39 string(9) "plainfile" 40 ["stream_type"]=> 41 string(5) "STDIO" 42 ["mode"]=> 43 string(1) "r" 44 ["unread_bytes"]=> 45 int(0) 46 ["seekable"]=> 47 bool(true) 48 ["uri"]=> 49 string(%i) "%s.tmp" 50} 51array(9) { 52 ["timed_out"]=> 53 bool(false) 54 ["blocked"]=> 55 bool(true) 56 ["eof"]=> 57 bool(false) 58 ["wrapper_type"]=> 59 string(9) "plainfile" 60 ["stream_type"]=> 61 string(5) "STDIO" 62 ["mode"]=> 63 string(2) "r+" 64 ["unread_bytes"]=> 65 int(0) 66 ["seekable"]=> 67 bool(true) 68 ["uri"]=> 69 string(%i) "%s.tmp" 70} 71array(9) { 72 ["timed_out"]=> 73 bool(false) 74 ["blocked"]=> 75 bool(true) 76 ["eof"]=> 77 bool(false) 78 ["wrapper_type"]=> 79 string(9) "plainfile" 80 ["stream_type"]=> 81 string(5) "STDIO" 82 ["mode"]=> 83 string(1) "w" 84 ["unread_bytes"]=> 85 int(0) 86 ["seekable"]=> 87 bool(true) 88 ["uri"]=> 89 string(%i) "%s.tmp" 90} 91array(9) { 92 ["timed_out"]=> 93 bool(false) 94 ["blocked"]=> 95 bool(true) 96 ["eof"]=> 97 bool(false) 98 ["wrapper_type"]=> 99 string(9) "plainfile" 100 ["stream_type"]=> 101 string(5) "STDIO" 102 ["mode"]=> 103 string(2) "w+" 104 ["unread_bytes"]=> 105 int(0) 106 ["seekable"]=> 107 bool(true) 108 ["uri"]=> 109 string(%i) "%s.tmp" 110} 111array(9) { 112 ["timed_out"]=> 113 bool(false) 114 ["blocked"]=> 115 bool(true) 116 ["eof"]=> 117 bool(false) 118 ["wrapper_type"]=> 119 string(9) "plainfile" 120 ["stream_type"]=> 121 string(5) "STDIO" 122 ["mode"]=> 123 string(1) "a" 124 ["unread_bytes"]=> 125 int(0) 126 ["seekable"]=> 127 bool(true) 128 ["uri"]=> 129 string(%i) "%s.tmp" 130} 131array(9) { 132 ["timed_out"]=> 133 bool(false) 134 ["blocked"]=> 135 bool(true) 136 ["eof"]=> 137 bool(false) 138 ["wrapper_type"]=> 139 string(9) "plainfile" 140 ["stream_type"]=> 141 string(5) "STDIO" 142 ["mode"]=> 143 string(2) "a+" 144 ["unread_bytes"]=> 145 int(0) 146 ["seekable"]=> 147 bool(true) 148 ["uri"]=> 149 string(%i) "%s.tmp" 150} 151array(9) { 152 ["timed_out"]=> 153 bool(false) 154 ["blocked"]=> 155 bool(true) 156 ["eof"]=> 157 bool(false) 158 ["wrapper_type"]=> 159 string(9) "plainfile" 160 ["stream_type"]=> 161 string(5) "STDIO" 162 ["mode"]=> 163 string(1) "x" 164 ["unread_bytes"]=> 165 int(0) 166 ["seekable"]=> 167 bool(true) 168 ["uri"]=> 169 string(%i) "%s.tmp" 170} 171array(9) { 172 ["timed_out"]=> 173 bool(false) 174 ["blocked"]=> 175 bool(true) 176 ["eof"]=> 177 bool(false) 178 ["wrapper_type"]=> 179 string(9) "plainfile" 180 ["stream_type"]=> 181 string(5) "STDIO" 182 ["mode"]=> 183 string(2) "x+" 184 ["unread_bytes"]=> 185 int(0) 186 ["seekable"]=> 187 bool(true) 188 ["uri"]=> 189 string(%i) "%s.tmp" 190} 191array(9) { 192 ["timed_out"]=> 193 bool(false) 194 ["blocked"]=> 195 bool(true) 196 ["eof"]=> 197 bool(false) 198 ["wrapper_type"]=> 199 string(9) "plainfile" 200 ["stream_type"]=> 201 string(5) "STDIO" 202 ["mode"]=> 203 string(2) "rb" 204 ["unread_bytes"]=> 205 int(0) 206 ["seekable"]=> 207 bool(true) 208 ["uri"]=> 209 string(%i) "%s.tmp" 210} 211array(9) { 212 ["timed_out"]=> 213 bool(false) 214 ["blocked"]=> 215 bool(true) 216 ["eof"]=> 217 bool(false) 218 ["wrapper_type"]=> 219 string(9) "plainfile" 220 ["stream_type"]=> 221 string(5) "STDIO" 222 ["mode"]=> 223 string(3) "rb+" 224 ["unread_bytes"]=> 225 int(0) 226 ["seekable"]=> 227 bool(true) 228 ["uri"]=> 229 string(%i) "%s.tmp" 230} 231array(9) { 232 ["timed_out"]=> 233 bool(false) 234 ["blocked"]=> 235 bool(true) 236 ["eof"]=> 237 bool(false) 238 ["wrapper_type"]=> 239 string(9) "plainfile" 240 ["stream_type"]=> 241 string(5) "STDIO" 242 ["mode"]=> 243 string(2) "wb" 244 ["unread_bytes"]=> 245 int(0) 246 ["seekable"]=> 247 bool(true) 248 ["uri"]=> 249 string(%i) "%s.tmp" 250} 251array(9) { 252 ["timed_out"]=> 253 bool(false) 254 ["blocked"]=> 255 bool(true) 256 ["eof"]=> 257 bool(false) 258 ["wrapper_type"]=> 259 string(9) "plainfile" 260 ["stream_type"]=> 261 string(5) "STDIO" 262 ["mode"]=> 263 string(3) "wb+" 264 ["unread_bytes"]=> 265 int(0) 266 ["seekable"]=> 267 bool(true) 268 ["uri"]=> 269 string(%i) "%s.tmp" 270} 271array(9) { 272 ["timed_out"]=> 273 bool(false) 274 ["blocked"]=> 275 bool(true) 276 ["eof"]=> 277 bool(false) 278 ["wrapper_type"]=> 279 string(9) "plainfile" 280 ["stream_type"]=> 281 string(5) "STDIO" 282 ["mode"]=> 283 string(2) "ab" 284 ["unread_bytes"]=> 285 int(0) 286 ["seekable"]=> 287 bool(true) 288 ["uri"]=> 289 string(%i) "%s.tmp" 290} 291array(9) { 292 ["timed_out"]=> 293 bool(false) 294 ["blocked"]=> 295 bool(true) 296 ["eof"]=> 297 bool(false) 298 ["wrapper_type"]=> 299 string(9) "plainfile" 300 ["stream_type"]=> 301 string(5) "STDIO" 302 ["mode"]=> 303 string(3) "ab+" 304 ["unread_bytes"]=> 305 int(0) 306 ["seekable"]=> 307 bool(true) 308 ["uri"]=> 309 string(%i) "%s.tmp" 310} 311array(9) { 312 ["timed_out"]=> 313 bool(false) 314 ["blocked"]=> 315 bool(true) 316 ["eof"]=> 317 bool(false) 318 ["wrapper_type"]=> 319 string(9) "plainfile" 320 ["stream_type"]=> 321 string(5) "STDIO" 322 ["mode"]=> 323 string(2) "xb" 324 ["unread_bytes"]=> 325 int(0) 326 ["seekable"]=> 327 bool(true) 328 ["uri"]=> 329 string(%i) "%s.tmp" 330} 331array(9) { 332 ["timed_out"]=> 333 bool(false) 334 ["blocked"]=> 335 bool(true) 336 ["eof"]=> 337 bool(false) 338 ["wrapper_type"]=> 339 string(9) "plainfile" 340 ["stream_type"]=> 341 string(5) "STDIO" 342 ["mode"]=> 343 string(3) "xb+" 344 ["unread_bytes"]=> 345 int(0) 346 ["seekable"]=> 347 bool(true) 348 ["uri"]=> 349 string(%i) "%s.tmp" 350} 351array(9) { 352 ["timed_out"]=> 353 bool(false) 354 ["blocked"]=> 355 bool(true) 356 ["eof"]=> 357 bool(false) 358 ["wrapper_type"]=> 359 string(9) "plainfile" 360 ["stream_type"]=> 361 string(5) "STDIO" 362 ["mode"]=> 363 string(2) "rt" 364 ["unread_bytes"]=> 365 int(0) 366 ["seekable"]=> 367 bool(true) 368 ["uri"]=> 369 string(%i) "%s.tmp" 370} 371array(9) { 372 ["timed_out"]=> 373 bool(false) 374 ["blocked"]=> 375 bool(true) 376 ["eof"]=> 377 bool(false) 378 ["wrapper_type"]=> 379 string(9) "plainfile" 380 ["stream_type"]=> 381 string(5) "STDIO" 382 ["mode"]=> 383 string(3) "rt+" 384 ["unread_bytes"]=> 385 int(0) 386 ["seekable"]=> 387 bool(true) 388 ["uri"]=> 389 string(%i) "%s.tmp" 390} 391array(9) { 392 ["timed_out"]=> 393 bool(false) 394 ["blocked"]=> 395 bool(true) 396 ["eof"]=> 397 bool(false) 398 ["wrapper_type"]=> 399 string(9) "plainfile" 400 ["stream_type"]=> 401 string(5) "STDIO" 402 ["mode"]=> 403 string(2) "wt" 404 ["unread_bytes"]=> 405 int(0) 406 ["seekable"]=> 407 bool(true) 408 ["uri"]=> 409 string(%i) "%s.tmp" 410} 411array(9) { 412 ["timed_out"]=> 413 bool(false) 414 ["blocked"]=> 415 bool(true) 416 ["eof"]=> 417 bool(false) 418 ["wrapper_type"]=> 419 string(9) "plainfile" 420 ["stream_type"]=> 421 string(5) "STDIO" 422 ["mode"]=> 423 string(3) "wt+" 424 ["unread_bytes"]=> 425 int(0) 426 ["seekable"]=> 427 bool(true) 428 ["uri"]=> 429 string(%i) "%s.tmp" 430} 431array(9) { 432 ["timed_out"]=> 433 bool(false) 434 ["blocked"]=> 435 bool(true) 436 ["eof"]=> 437 bool(false) 438 ["wrapper_type"]=> 439 string(9) "plainfile" 440 ["stream_type"]=> 441 string(5) "STDIO" 442 ["mode"]=> 443 string(2) "at" 444 ["unread_bytes"]=> 445 int(0) 446 ["seekable"]=> 447 bool(true) 448 ["uri"]=> 449 string(%i) "%s.tmp" 450} 451array(9) { 452 ["timed_out"]=> 453 bool(false) 454 ["blocked"]=> 455 bool(true) 456 ["eof"]=> 457 bool(false) 458 ["wrapper_type"]=> 459 string(9) "plainfile" 460 ["stream_type"]=> 461 string(5) "STDIO" 462 ["mode"]=> 463 string(3) "at+" 464 ["unread_bytes"]=> 465 int(0) 466 ["seekable"]=> 467 bool(true) 468 ["uri"]=> 469 string(%i) "%s.tmp" 470} 471array(9) { 472 ["timed_out"]=> 473 bool(false) 474 ["blocked"]=> 475 bool(true) 476 ["eof"]=> 477 bool(false) 478 ["wrapper_type"]=> 479 string(9) "plainfile" 480 ["stream_type"]=> 481 string(5) "STDIO" 482 ["mode"]=> 483 string(2) "xt" 484 ["unread_bytes"]=> 485 int(0) 486 ["seekable"]=> 487 bool(true) 488 ["uri"]=> 489 string(%i) "%s.tmp" 490} 491array(9) { 492 ["timed_out"]=> 493 bool(false) 494 ["blocked"]=> 495 bool(true) 496 ["eof"]=> 497 bool(false) 498 ["wrapper_type"]=> 499 string(9) "plainfile" 500 ["stream_type"]=> 501 string(5) "STDIO" 502 ["mode"]=> 503 string(3) "xt+" 504 ["unread_bytes"]=> 505 int(0) 506 ["seekable"]=> 507 bool(true) 508 ["uri"]=> 509 string(%i) "%s.tmp" 510} 511