PHP | symlink 函數
怎樣創建符號鏈接
最近更新時間 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);