PHP | basename 函数
Lasted 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
扩展名需要带上 “.”,否则会算到文件名上面。