PHP | symlink 函数
Lasted 2021-01-25 16:24:14
symlink 函数创建符号链接。
symlink() 函数对于已有的 target 建立一个名为 link 的符号链接。成功后返回 true。
函数定义
symlink ( string $target , string $link ) : bool
// 源文件位于:ext/standard/link.c
# 函数定义
PHP_FUNCTION(symlink)
{
...
if (!expand_filepath(frompath, source_p)) {
php_error_docref(NULL, E_WARNING, "No such file or directory");
RETURN_FALSE;
}
memcpy(dirname, source_p, sizeof(source_p));
len = php_dirname(dirname, strlen(dirname));
if (!expand_filepath_ex(topath, dest_p, dirname, len)) {
php_error_docref(NULL, E_WARNING, "No such file or directory");
RETURN_FALSE;
}
...
/* For the source, an expanded path must be used (in ZTS an other thread could have changed the CWD).
* For the target the exact string given by the user must be used, relative or not, existing or not.
* The target is relative to the link itself, not to the CWD. */
ret = php_sys_symlink(topath, source_p);
if (ret == -1) {
php_error_docref(NULL, E_WARNING, "%s", strerror(errno));
RETURN_FALSE;
}
RETURN_TRUE;
}
参数
- checktarget -链接的目标。
- checklink -链接的名称。
返回值
- checkbool - 成功时返回 true,失败时返回 false。
示例1: - 使用 symlink() 函数创建符号链接。
<?php
/**
* PHP symlink() 函数创建符号链接
*
* @since Version 1.0.0
* @filesource
*/
// 目标文件
$target = "foo.txt";
// 新链接名称
$link = "foo.lnk";
// 创建链接
symlink($target, $link);