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