1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
--TEST--
Testing stream_get_meta_data() "unread_bytes" field
--FILE--
<?php
$filename = __FILE__ . '.tmp';
$fp = fopen($filename, "w+");
echo "Write some data to the file:\n";
$i = 0;
while ($i++ < 20) {
fwrite($fp, "a line of data\n");
}
var_dump(stream_get_meta_data($fp));
//seek to start of file
rewind($fp);
echo "\n\nRead a line of the file, causing data to be buffered:\n";
var_dump(fgets($fp));
var_dump(stream_get_meta_data($fp));
echo "\n\nRead 20 bytes from the file:\n";
fread($fp, 20);
var_dump(stream_get_meta_data($fp));
echo "\n\nRead entire file:\n";
while(!feof($fp)) {
fread($fp, 1);
}
var_dump(stream_get_meta_data($fp));
fclose($fp);
unlink($filename);
?>
--EXPECTF--
Write some data to the file:
array(9) {
["timed_out"]=>
bool(false)
["blocked"]=>
bool(true)
["eof"]=>
bool(false)
["wrapper_type"]=>
string(9) "plainfile"
["stream_type"]=>
string(5) "STDIO"
["mode"]=>
string(2) "w+"
["unread_bytes"]=>
int(0)
["seekable"]=>
bool(true)
["uri"]=>
string(%i) "%s.tmp"
}
Read a line of the file, causing data to be buffered:
string(15) "a line of data
"
array(9) {
["timed_out"]=>
bool(false)
["blocked"]=>
bool(true)
["eof"]=>
bool(false)
["wrapper_type"]=>
string(9) "plainfile"
["stream_type"]=>
string(5) "STDIO"
["mode"]=>
string(2) "w+"
["unread_bytes"]=>
int(285)
["seekable"]=>
bool(true)
["uri"]=>
string(%i) "%s.tmp"
}
Read 20 bytes from the file:
array(9) {
["timed_out"]=>
bool(false)
["blocked"]=>
bool(true)
["eof"]=>
bool(false)
["wrapper_type"]=>
string(9) "plainfile"
["stream_type"]=>
string(5) "STDIO"
["mode"]=>
string(2) "w+"
["unread_bytes"]=>
int(265)
["seekable"]=>
bool(true)
["uri"]=>
string(%i) "%s.tmp"
}
Read entire file:
array(9) {
["timed_out"]=>
bool(false)
["blocked"]=>
bool(true)
["eof"]=>
bool(true)
["wrapper_type"]=>
string(9) "plainfile"
["stream_type"]=>
string(5) "STDIO"
["mode"]=>
string(2) "w+"
["unread_bytes"]=>
int(0)
["seekable"]=>
bool(true)
["uri"]=>
string(%i) "%s.tmp"
}
|