basename() 在win环境与Linux 的返回值不一样

180次阅读
没有评论
 例如
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

正文完
有偿技术支持加微信
post-qrcode
 
评论(没有评论)
验证码