例如,我如何得到output。map

from

F:\程序文件\SSH通信安全\SSH安全Shell\Output.map

使用PHP吗?


当前回答

试试这个:

echo basename($_SERVER["SCRIPT_FILENAME"], '.php') 

其他回答

basename()在处理中文等亚洲字符时出现错误。

我用这个:

function get_basename($filename)
{
    return preg_replace('/^.+[\\\\\\/]/', '', $filename);
}

为了在最少的行数内完成这一操作,我建议使用内置的DIRECTORY_SEPARATOR常量以及explosion(分隔符,字符串)将路径分离为多个部分,然后简单地提取所提供数组中的最后一个元素。

例子:

$path = 'F:\Program Files\SSH Communications Security\SSH SecureShell\Output.map'

//Get filename from path
$pathArr = explode(DIRECTORY_SEPARATOR, $path);
$filename = end($pathArr);

echo $filename;
>> 'Output.map'

您正在寻找basename。

下面的例子来自PHP手册:

<?php
$path = "/home/httpd/html/index.php";
$file = basename($path);         // $file is set to "index.php"
$file = basename($path, ".php"); // $file is set to "index"
?>

试试这个:

echo basename($_SERVER["SCRIPT_FILENAME"], '.php') 

SplFileInfo:

SplFileInfo类提供了一个高级的面向对象 到单个文件的信息的接口。

裁判:http://php.net/manual/en/splfileinfo.getfilename.php

$info = new SplFileInfo('/path/to/foo.txt');
var_dump($info->getFilename());

或/ p:管柱(7)“foo。txt”