mirror of
https://github.com/php/php-src.git
synced 2024-10-21 08:22:42 +00:00
f1917e104b
Do not expand $target in symlink(). This made it impossible to symlink to a symlink. This also caused the target to be wrongly expanded relatively to the CWD when target was not an absolute path.
45 lines
1.3 KiB
PHP
45 lines
1.3 KiB
PHP
--TEST--
|
|
symlink() using a relative path, and symlink() to a symlink
|
|
--FILE--
|
|
<?php
|
|
$prefix = __FILE__;
|
|
|
|
touch($prefix . "_file");
|
|
|
|
// symlink to a regular file using a relative dest
|
|
symlink(basename($prefix . "_file"), $prefix . "_link1");
|
|
|
|
// symlink to a symlink using a relative path
|
|
symlink(basename($prefix . "_link1"), $prefix . "_link2");
|
|
|
|
// symlink to a non-existent path
|
|
@unlink($prefix . "_nonexistant");
|
|
symlink(basename($prefix . "_nonexistant"), $prefix . "_link3");
|
|
|
|
// symlink to a regular file using an absolute path
|
|
symlink($prefix . "_file", $prefix . "_link4");
|
|
|
|
// symlink to a symlink using an absolute path
|
|
symlink($prefix . "_link4", $prefix . "_link5");
|
|
|
|
var_dump(readlink($prefix . "_link1"));
|
|
var_dump(readlink($prefix . "_link2"));
|
|
var_dump(readlink($prefix . "_link3"));
|
|
var_dump(readlink($prefix . "_link4"));
|
|
var_dump(readlink($prefix . "_link5"));
|
|
|
|
unlink($prefix . "_link5");
|
|
unlink($prefix . "_link4");
|
|
unlink($prefix . "_link3");
|
|
unlink($prefix . "_link2");
|
|
unlink($prefix . "_link1");
|
|
unlink($prefix . "_file");
|
|
|
|
?>
|
|
--EXPECTF--
|
|
%unicode|string%(%d) "symlink_to_symlink.php_file"
|
|
%unicode|string%(%d) "symlink_to_symlink.php_link1"
|
|
%unicode|string%(%d) "symlink_to_symlink.php_nonexistant"
|
|
%unicode|string%(%d) "%s/symlink_to_symlink.php_file"
|
|
%unicode|string%(%d) "%s/symlink_to_symlink.php_link4"
|