PHP | readlink 函數

怎樣獲取符號連接指向的目標

最近更新時間 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
rss_feed