Annotation of embedaddon/php/ext/standard/tests/file/fopen_variation19.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test fopen() function : variation: test opening linked files
3: --CREDITS--
4: Dave Kelsey <d_kelsey@uk.ibm.com>
5: --SKIPIF--
6: <?php
7: if(substr(PHP_OS, 0, 3) == "WIN")
8: die("skip Not for Windows");
9: ?>
10: --FILE--
11: <?php
12: /* Prototype : resource fopen(string filename, string mode [, bool use_include_path [, resource context]])
13: * Description: Open a file or a URL and return a file pointer
14: * Source code: ext/standard/file.c
15: * Alias to functions:
16: */
17:
18: $tmpDir = 'fopenVar19.Dir';
19: $realFilename = __FILE__.'.real';
20: $sortFilename = __FILE__.'.soft';
21: $hardFilename = __FILE__.'.hard';
22: $linkOfLink = __FILE__.'.soft2';
23:
24: echo "*** Testing fopen() : variation ***\n";
25: // start the test
26: mkdir($tmpDir);
27: chdir($tmpDir);
28:
29: $h = fopen($realFilename, "w");
30: fwrite($h, "Hello World");
31: fclose($h);
32:
33: symlink($realFilename, $sortFilename);
34: symlink($sortFilename, $linkOfLink);
35: link($realFilename, $hardFilename);
36:
37:
38:
39: echo "*** testing reading of links ***\n";
40: echo "soft link:";
41: readFile2($sortFilename);
42: echo "hard link:";
43: readFile2($hardFilename);
44: echo "link of link:";
45: readFile2($linkOfLink);
46:
47: echo "*** test appending to links ***\n";
48: echo "soft link:";
49: appendFile($sortFilename);
50: echo "hard link:";
51: appendFile($hardFilename);
52: echo "link of link:";
53: appendFile($linkOfLink);
54:
55: echo "*** test overwriting links ***\n";
56: echo "soft link:";
57: writeFile($sortFilename);
58: echo "hard link:";
59: writeFile($hardFilename);
60: echo "link of link:";
61: writeFile($linkOfLink);
62:
63: unlink($linkOfLink);
64: unlink($sortFilename);
65: unlink($hardFilename);
66: unlink($realFilename);
67: chdir("..");
68: rmdir($tmpDir);
69:
70: function readFile2($file) {
71: $h = fopen($file, 'r');
72: fpassthru($h);
73: fclose($h);
74: echo "\n";
75: }
76:
77: function appendFile($file) {
78: $h = fopen($file, 'a+');
79: fwrite($h, ' again!');
80: fseek($h, 0);
81: fpassthru($h);
82: fclose($h);
83: echo "\n";
84: }
85:
86: function writeFile($file) {
87: $h = fopen($file, 'w');
88: fwrite($h, 'Goodbye World');
89: fclose($h);
90: readFile2($file);
91: }
92:
93:
94: ?>
95: ===DONE===
96: --EXPECT--
97: *** Testing fopen() : variation ***
98: *** testing reading of links ***
99: soft link:Hello World
100: hard link:Hello World
101: link of link:Hello World
102: *** test appending to links ***
103: soft link:Hello World again!
104: hard link:Hello World again! again!
105: link of link:Hello World again! again! again!
106: *** test overwriting links ***
107: soft link:Goodbye World
108: hard link:Goodbye World
109: link of link:Goodbye World
110: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>