Return to unlink_variation1-win32.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
1.1 misho 1: --TEST-- 2: Test unlink() function : usage variations - unlinking file in a directory 3: --SKIPIF-- 4: <?php 5: if (substr(PHP_OS, 0, 3) != 'WIN') { 6: die('skip only on Windows'); 7: } 8: ?> 9: --FILE-- 10: <?php 11: /* Prototype : bool unlink ( string $filename [, resource $context] ); 12: Description : Deletes filename 13: */ 14: 15: /* Delete file having default permission but its dir having readonly permission 16: Delete file having readonly permission but dir having default permission 17: */ 18: 19: 20: $file_path = dirname(__FILE__); 21: 22: // temp dir name used here 23: $dirname = "$file_path/unlink_variation1"; 24: // temp filename used here 25: $filename = "$dirname/unlink_variation1-win32.tmp"; 26: 27: echo "\n*** Testing unlink() on file inside a directory ***\n"; 28: // create temp dir 29: mkdir($dirname); 30: // create temp file inside $dirname 31: $fp = fopen($filename, "w"); 32: fclose($fp); 33: 34: echo "-- Unlink file having default permission and its dir having read only permission --\n"; 35: // remove write permission of $dirname 36: // on windows dir permission is not respected 37: var_dump( chmod($dirname, 0444) ); 38: // now try deleting $filename 39: var_dump( unlink($filename) ); // expected: true 40: var_dump( file_exists($filename) ); // confirm file is deleted 41: 42: // remove the dir 43: var_dump( chmod($dirname, 0777) ); 44: rmdir($dirname); 45: 46: echo "\n-- Unlinking file without write permission, its dir having default permission --\n"; 47: // create the temp dir 48: mkdir($dirname); 49: 50: // create the temp file 51: $fp = fopen($filename, "w"); 52: fclose($fp); 53: 54: // remove write permission from file 55: var_dump( chmod($filename, 0444) ); 56: 57: // now try deleting temp file inside $dirname 58: var_dump( unlink($filename) ); // expected: false 59: 60: // reassign write permission to temp file 61: chmod($filename, 0777); 62: // delete temp file 63: var_dump( unlink($filename) ); 64: var_dump( file_exists($filename) ); // confirm file is deleted 65: // remove temp dir 66: rmdir($dirname); 67: 68: echo "Done\n"; 69: ?> 70: --EXPECTF-- 71: *** Testing unlink() on file inside a directory *** 72: -- Unlink file having default permission and its dir having read only permission -- 73: bool(true) 74: bool(true) 75: bool(false) 76: bool(true) 77: 78: -- Unlinking file without write permission, its dir having default permission -- 79: bool(true) 80: 81: Warning: unlink(%s/unlink_variation1/unlink_variation1-win32.tmp): Permission denied in %s on line %d 82: bool(false) 83: bool(true) 84: bool(false) 85: Done