1--TEST--
2Test rename() function: usage variations-3
3--SKIPIF--
4<?php
5if (substr(PHP_OS, 0, 3) == 'WIN') {
6    die('skip.. only for Linux');
7}
8?>
9--FILE--
10<?php
11
12$file_path = __DIR__;
13
14$dest_dir = "$file_path/rename_variation2_dir";
15// create the $dest_dir
16mkdir($dest_dir);
17
18/* Testing rename() on soft and hard links with different permissions */
19echo "\n*** Testing rename() on soft links ***\n";
20// create the file
21$filename = $file_path."/rename_variation2.tmp";
22@unlink($filename);
23var_dump(touch($filename));
24
25// create the soft links to the file
26$linkname = $file_path."/rename_variation2_soft_link1.tmp";
27var_dump(symlink($filename, $linkname));
28
29//rename the link to a new name in the same dir
30$dest_linkname = $file_path."/rename_variation2_soft_link2.tmp";
31var_dump( rename( $linkname, $dest_linkname) );
32//ensure that link was renamed
33clearstatcache();
34var_dump( file_exists($linkname) );  // expecting false
35var_dump( file_exists($dest_linkname) );  // expecting true
36
37// rename a link across dir
38var_dump( rename($dest_linkname, $dest_dir."/rename_variation2_soft_link2.tmp"));
39//ensure that link got renamed
40clearstatcache();
41var_dump( file_exists($dest_linkname) );  // expecting false
42var_dump( file_exists($dest_dir."/rename_variation2_soft_link2.tmp") ); // expecting true
43
44// delete the link file now
45unlink($dest_dir."/rename_variation2_soft_link2.tmp");
46
47echo "Done\n";
48?>
49--CLEAN--
50<?php
51$file_path = __DIR__;
52unlink($file_path."/rename_variation2.tmp");
53rmdir($file_path."/rename_variation2_dir");
54?>
55--EXPECT--
56*** Testing rename() on soft links ***
57bool(true)
58bool(true)
59bool(true)
60bool(false)
61bool(true)
62bool(true)
63bool(false)
64bool(true)
65Done
66