1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- --TEST--
- Test unlink() function : variation: unlinking directories
- --CREDITS--
- Dave Kelsey <d_kelsey@uk.ibm.com>
- --SKIPIF--
- <?php
- if (substr(PHP_OS, 0, 3) == 'WIN') {
- die('skip.. Not for Windows');
- }
- ?>
- --FILE--
- <?php
- echo "*** Testing unlink() : variation ***\n";
- $workDir = "unlinkVar10.tmp";
- $tmpDir = "subDir.tmp";
- $dirToLinkTo = $workDir.'/'."linkme.tmp";
- mkdir($workDir);
- $cwd = getcwd();
- mkdir($dirToLinkTo);
- $dirs = array(
- // relative
- $workDir.'/'.$tmpDir,
- './'.$workDir.'/'.$tmpDir,
- $workDir.'/../'.$workDir.'/'.$tmpDir,
- //absolute
- $cwd.'/'.$workDir.'/'.$tmpDir,
- $cwd.'/./'.$workDir.'/'.$tmpDir,
- $cwd.'/'.$workDir.'/../'.$workDir.'/'.$tmpDir,
- // multiple separators
- $workDir.'//'.$tmpDir,
- $cwd.'//'.$workDir.'//'.$tmpDir,
- );
- foreach($dirs as $dirToUnlink) {
- test_link($workDir.'/'.$tmpDir, $dirToLinkTo, $dirToUnlink, true); //soft link
- //cannot test hard links unless you are root.
- }
- echo "\n--- try to unlink a directory ---\n";
- unlink($dirToLinkTo);
- rmdir($dirToLinkTo);
- rmdir($workDir);
- function test_link($linkedDir, $toLinkTo, $tounlink, $softlink) {
- if ($softlink == true) {
- symlink($toLinkTo, $linkedDir);
- $msg = "soft link";
- }
- else {
- link($toLinkTo, $linkedDir);
- $msg = "hard link";
- }
- echo "-- unlinking $msg $tounlink --\n";
- $res = unlink($tounlink);
- if ($res === true) {
- if (is_link($tounlink) === false) {
- echo "directory unlinked\n";
- }
- else {
- echo "FAILED: directory not unlinked\n";
- }
- }
- else {
- unlink($linkedDir);
- }
- }
- ?>
- --EXPECTF--
- *** Testing unlink() : variation ***
- -- unlinking soft link unlinkVar10.tmp/subDir.tmp --
- directory unlinked
- -- unlinking soft link ./unlinkVar10.tmp/subDir.tmp --
- directory unlinked
- -- unlinking soft link unlinkVar10.tmp/../unlinkVar10.tmp/subDir.tmp --
- directory unlinked
- -- unlinking soft link /%s/unlinkVar10.tmp/subDir.tmp --
- directory unlinked
- -- unlinking soft link /%s/./unlinkVar10.tmp/subDir.tmp --
- directory unlinked
- -- unlinking soft link /%s/unlinkVar10.tmp/../unlinkVar10.tmp/subDir.tmp --
- directory unlinked
- -- unlinking soft link unlinkVar10.tmp//subDir.tmp --
- directory unlinked
- -- unlinking soft link /%s//unlinkVar10.tmp//subDir.tmp --
- directory unlinked
- --- try to unlink a directory ---
- Warning: unlink(unlinkVar10.tmp/linkme.tmp): %s in %s on line %d
|