PHP | link 函数

Lasted 2021-01-19 10:36:00

link 函数建立一个硬链接。

函数定义

link ( string $target , string $link ) : bool
// 源文件位于:ext/standard/link.c
# 函数定义

PHP_FUNCTION(link)
{
  ...
  if (!expand_filepath(frompath, source_p) || !expand_filepath(topath, dest_p)) {
    php_error_docref(NULL, E_WARNING, "No such file or directory");
    RETURN_FALSE;
  }

  if (php_stream_locate_url_wrapper(source_p, NULL, STREAM_LOCATE_WRAPPERS_ONLY) ||
    php_stream_locate_url_wrapper(dest_p, NULL, STREAM_LOCATE_WRAPPERS_ONLY) )
  {
    php_error_docref(NULL, E_WARNING, "Unable to link to a URL");
    RETURN_FALSE;
  }

  if (php_check_open_basedir(dest_p)) {
    RETURN_FALSE;
  }

  if (php_check_open_basedir(source_p)) {
    RETURN_FALSE;
  }

#ifndef ZTS
  ret = php_sys_link(topath, frompath);
#else
  ret = php_sys_link(dest_p, source_p);
#endif
  if (ret == -1) {
    php_error_docref(NULL, E_WARNING, "%s", strerror(errno));
    RETURN_FALSE;
  }

  RETURN_TRUE;
}

参数

  • checktarget - 要链接的目标。
  • checklink - 链接的名称。

返回值

  • checkbool - 成功时返回 true,失败时返回 false。

示例1: - 使用 link() 函数建立一个硬链接。

<?php
/**
 * PHP link() 函数建立一个硬链接。
 *
 * @since Version 1.0.0
 * @filesource
 */

$target = "foo.php";
$link = "foo.lnk";

// 创建硬链接
link($target, $link);