File: bug52335.phpt

package info (click to toggle)
php8.4 8.4.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 208,108 kB
  • sloc: ansic: 1,060,628; php: 35,345; sh: 11,866; cpp: 7,201; pascal: 4,913; javascript: 3,091; asm: 2,810; yacc: 2,411; makefile: 689; xml: 446; python: 301; awk: 148
file content (67 lines) | stat: -rw-r--r-- 1,280 bytes parent folder | download
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
--TEST--
Bug #52335 (fseek() on memory stream behavior different then file)
--FILE--
<?php

echo "Read mode\n";
$fpr = fopen("php://memory", "r");
var_dump(fseek($fpr, 20));
var_dump(feof($fpr));
var_dump(ftell($fpr));
var_dump(feof($fpr));
var_dump(fread($fpr, 2));
var_dump(feof($fpr));
var_dump(fseek($fpr, 24));
var_dump(feof($fpr));
var_dump(ftell($fpr));
fclose($fpr);

echo "Read write mode\n";
$fprw = fopen("php://memory", "r+");
var_dump(fwrite($fprw, "data"));
var_dump(fseek($fprw, 20, SEEK_END));
var_dump(feof($fprw));
var_dump(ftell($fprw));
var_dump(feof($fprw));
var_dump(fread($fprw, 2));
var_dump(feof($fprw));
var_dump(fseek($fprw, 20));
var_dump(fwrite($fprw, " and more data"));
var_dump(feof($fprw));
var_dump(ftell($fprw));
var_dump(fread($fprw, 10));
var_dump(fseek($fprw, 16, SEEK_CUR));
var_dump(ftell($fprw));
var_dump(fseek($fprw, 0));
var_dump(bin2hex(stream_get_contents($fprw)));
fclose($fprw);

?>
--EXPECT--
Read mode
int(0)
bool(false)
int(20)
bool(false)
string(0) ""
bool(true)
int(0)
bool(false)
int(24)
Read write mode
int(4)
int(0)
bool(false)
int(24)
bool(false)
string(0) ""
bool(true)
int(0)
int(14)
bool(false)
int(34)
string(0) ""
int(0)
int(50)
int(0)
string(68) "646174610000000000000000000000000000000020616e64206d6f72652064617461"