basename() 在win环境与Linux 的返回值不一样
例如 basename('controller\index'); 在win环境下返回值为 'index'; 在Linux环境下返回值为 'controller\index';
在 PHP 中对URL的处理主要有下面三个函数
string basename ( string $path [, string $suffix ] )
//给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名。
string dirname ( string $path )
//给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。
mixed pathinfo ( string $path [, int $options ] )
// 返回一个关联数组包含有 path 的信息。返回关联数组还是字符串取决于 options。
这三个函数在windows下可以识别路径中的 \
和 /
但在Linux下只识别 /
,因此在Linux下需要先将 \
替换为 /
$path = 'App\Http\Middleware\User\login';
$path = str_replace('\\','/',$path);
var_dump(basename($path));
var_dump(dirname($path));
var_dump(pathinfo($path));
原文链接:https://blog.csdn.net/soeben/article/details/78511046