Annotation of embedaddon/php/ext/standard/tests/file/fopen_variation19.phpt, revision 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>