summaryrefslogtreecommitdiff
path: root/ext/standard/tests/file/fread_fwrite_basic.phpt
blob: 97309a6e907e9e8a01e649900de4c8390f8a35a2 (plain)
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
--TEST--
fread & fwrite - Test reading and writing using a single resource
--CREDITS--
Dave Kelsey <d_kelsey@uk.ibm.com>
--FILE--
<?php

/*
 * Function is implemented in ext/standard/file.c
 */

$outputfile = __FILE__.".tmp";

echo "--- testing rw moving about the file ---\n";
$h = fopen($outputfile, 'wb+');
$out1 = "The 1st prrt";
$out2 = " part of the ttxt";
$out3 = "text";
fwrite($h, $out1);
fseek($h, 0, SEEK_SET);
echo "start:".fread($h, strlen($out1) - 5). "\n";
fwrite($h, $out2);
echo "at end:".fread($h,100)."\n";
var_dump(feof($h));
fseek($h, -4, SEEK_CUR);
fwrite($h, $out3);
fseek($h, 0, SEEK_SET);
echo "final:".fread($h, 100)."\n";
fclose($h);

echo "--- testing eof ---\n";
$h = fopen($outputfile, 'ab+');
fread($h,1024);
var_dump(feof($h));
fread($h,1);
var_dump(feof($h));
$out = "extra";
fwrite($h, $out);
var_dump(feof($h));
fread($h,1);
var_dump(feof($h));
fseek($h, -strlen($out) + 1, SEEK_CUR);
echo "last bytes: ".fread($h, strlen($out))."\n";
fclose($h);

unlink($outputfile);

echo "Done";
?>
--EXPECT--
--- testing rw moving about the file ---
start:The 1st
at end:
bool(true)
final:The 1st part of the text
--- testing eof ---
bool(true)
bool(true)
bool(true)
bool(true)
last bytes: xtra
Done