PHP | readlink 函数

Lasted 2021-01-19 18:00:25

readlink 函数获取符号连接指向的目标。

readlink() 和同名的 C 函数做同样的事,返回符号连接的目标。

函数定义

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

PHP_FUNCTION(readlink)
{
  ...
  if (php_check_open_basedir(link)) {
    RETURN_FALSE;
  }

  ret = php_sys_readlink(link, buff, MAXPATHLEN-1);

  if (ret == -1) {
#ifdef PHP_WIN32
    php_error_docref(NULL, E_WARNING, "readlink failed to read the symbolic link (%s), error %d)", link, GetLastError());
#else
    php_error_docref(NULL, E_WARNING, "%s", strerror(errno));
#endif
    RETURN_FALSE;
  }
  /* Append NULL to the end of the string */
  buff[ret] = '\0';

  RETURN_STRINGL(buff, ret);
}

参数

  • checkpath - 符号链接的路径。

返回值

  • checkint - 返回符号链接的目标。错误时返回 false。

示例1: - 使用 readlink() 函数获取符号链接指向的目标。

<?php
/**
 * PHP readlink() 函数获取符号链接指向的目标。
 *
 * @since Version 1.0.0
 * @filesource
 */

// 符号链接路径
$path = 'foo.lnk';

// 符号连接目标
$data = readlink($path);

echo $data;
foo.txt