PHP | basename 函數
怎樣獲取路徑中的文件名稱
最近更新時間 2020-12-16 15:40:41
basename 函數返回路徑中的文件名部分。函數有一個必填參數,包含路徑的字符串。
在 Windows 中,斜線 “/” 和反斜線 “\” 都可以用作目錄分隔符。在其它環境下是斜線 “/”。Window 系統中可以處理 “c:file.txt” 這種格式路徑。
函數定義
basename(string $path [, string $suffix ]):string
// 源文件位於:ext/standard/string.c
# 函數定義
PHP_FUNCTION(basename)
{
char *string, *suffix = NULL;
size_t string_len, suffix_len = 0;
ZEND_PARSE_PARAMETERS_START(1, 2)
Z_PARAM_STRING(string, string_len)
Z_PARAM_OPTIONAL
Z_PARAM_STRING(suffix, suffix_len)
ZEND_PARSE_PARAMETERS_END();
RETURN_STR(php_basename(string, string_len, suffix, suffix_len));
}
...
#if defined(PHP_WIN32)
if (*s == '/' || *s == '\\') {
#else
if (*s == '/') {
#endif
...
參數
- check$path - 包含路徑的字符串。Windowx 下反斜槓 \ 也是路徑分隔符。
- check$suffix - 可選,文件擴展名,默認為空,擴展名會跟文件一起返回。
返回值
- checkstring - 返回文件名。
示例1: - 使用 basename() 函數獲取文件名。
<?php
/**
* PHP 使用 basename() 函數獲取文件名。
*
* @since Version 1.0.0
* @filesource
*/
// 圖片路徑
$path = "/upload/images/apple.jpg";
// 獲取文件名稱
$fileName = dirname();
echo "FileName::".basename($path).PHP_EOL;
echo "FileName::".basename($path, ".jpg").PHP_EOL;
// 獲取當前PHP文件
echo "PHP File::".basename(__file__).PHP_EOL;
FileName::apple.jpg FileName::apple PHP File::index.php
擴展名需要帶上 “.”,否則會算到文件名上面。