1--TEST--
2Test rename() function: usage variations-4
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_variation3_dir";
15// create the $dest_dir
16mkdir($dest_dir);
17
18echo "\n*** Testing rename() on hard links ***\n";
19$filename = $file_path."/rename_variation31.tmp";
20@unlink($filename);
21var_dump(touch($filename));
22
23$linkname = $file_path."/rename_variation3_hard_link1.tmp";
24var_dump(link($filename, $linkname));
25
26//rename the link to a new name in the same dir
27$dest_linkname = $file_path."/rename_variation3_hard_link2.tmp";
28var_dump( rename( $filename, $dest_linkname) );
29//ensure that link was renamed
30var_dump( file_exists($filename) );  // expecting false
31var_dump( file_exists($dest_linkname) );  // expecting true
32
33// rename a hard link across dir
34var_dump( rename($dest_linkname, $dest_dir."/rename_variation3_hard_link2.tmp") );
35//ensure that link got renamed
36var_dump( file_exists($dest_linkname) );  // expecting false
37var_dump( file_exists($dest_dir."/rename_variation3_hard_link2.tmp") ); // expecting true
38
39// delete the link file now
40unlink($dest_dir."/rename_variation3_hard_link2.tmp");
41
42echo "Done\n";
43?>
44--CLEAN--
45<?php
46$file_path = __DIR__;
47unlink($file_path."/rename_variation3_hard_link1.tmp");
48rmdir($file_path."/rename_variation3_dir");
49?>
50--EXPECT--
51*** Testing rename() on hard links ***
52bool(true)
53bool(true)
54bool(true)
55bool(false)
56bool(true)
57bool(true)
58bool(false)
59bool(true)
60Done
61