PHP | realpath 函數
怎樣返回規範化的絕對路徑名
最近更新時間 2021-01-19 21:05:34
realpath 函數返回規範化的絕對路徑名。
realpath() 可用於安全檢查,避免錯誤操作系統文件。
函數定義
    realpath ( string $path ) : string
  
  // 源文件位於:ext/standard/file.c
# 函數定義
PHP_FUNCTION(realpath)
{
  char *filename;
  size_t filename_len;
  char resolved_path_buff[MAXPATHLEN];
  ZEND_PARSE_PARAMETERS_START(1, 1)
    Z_PARAM_PATH(filename, filename_len)
  ZEND_PARSE_PARAMETERS_END();
  if (VCWD_REALPATH(filename, resolved_path_buff)) {
    if (php_check_open_basedir(resolved_path_buff)) {
      RETURN_FALSE;
    }
#ifdef ZTS
    if (VCWD_ACCESS(resolved_path_buff, F_OK)) {
      RETURN_FALSE;
    }
#endif
    RETURN_STRING(resolved_path_buff);
  } else {
    RETURN_FALSE;
  }
}
  參數
- checkpath - 要檢查的路徑。
 
返回值
- checkint - 返回文件真實路徑。錯誤或文件不存在時返回 false。
 
示例1: - 使用 realpath() 函數返回規範化的絕對路徑名。
<?php
/**
 * PHP realpath() 函數返回規範化的絕對路徑名。
 *
 * @since Version 1.0.0
 * @filesource
 */
// 路徑
$path = "./../index.php";
// 獲取文件真實路徑
echo realpath($path);
  /data/sites/wwwroot/index.php