PHP | linkinfo 函數

怎樣獲取鏈接信息

最近更新時間 2021-01-19 11:01:01

link 函數獲取一個鏈接的信息。

本函數用來驗證一個鏈接(由 path 所指向的)是否確實存在(使用 stat.h 中的 S_ISLNK 宏同樣的方法)。

函數定義

linkinfo ( string $path ) : int
// 源文件位於:ext/standard/link.c
# 函數定義

PHP_FUNCTION(linkinfo)
{
  ...
  dirname = estrndup(link, link_len);
  php_dirname(dirname, link_len);

  if (php_check_open_basedir(dirname)) {
    efree(dirname);
    RETURN_FALSE;
  }

  ret = VCWD_LSTAT(link, &sb);
  if (ret == -1) {
    php_error_docref(NULL, E_WARNING, "%s", strerror(errno));
    efree(dirname);
    RETURN_LONG(Z_L(-1));
  }

  efree(dirname);
  RETURN_LONG((zend_long) sb.st_dev);
}

參數

  • checkpath - 鏈接的路徑。

返回值

  • checkint - linkinfo() 返回 lstat 系統調用所返回的 UNIX C stat 結構中的 st_dev 字段。 如果出錯則返回 0 或 false。

示例1: - 使用 linkinfo() 函數獲取一個鏈接的信息。

<?php
/**
 * PHP linkinfo() 函數獲取一個鏈接的信息。
 *
 * @since Version 1.0.0
 * @filesource
 */

$target = "foo.txt";
$path = "foo.lnk";

// 創建鏈接
symlink($target, $path);

// 顯示鏈接信息
echo linkinfo($path);
2064
rss_feed