例如,我如何得到output。map

from

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

使用PHP吗?


当前回答

basename函数应该给你你想要的:

给定一个包含路径的字符串 文件,此函数将返回 文件的基本名称。

例如,引用手册的页面:

<?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"
?>

或者,在你的情况下:

$full = 'F:\Program Files\SSH Communications Security\SSH Secure Shell\Output.map';
var_dump(basename($full));

你会得到:

string(10) "Output.map"

其他回答

我已经使用函数PATHINFO创建了一个数组的部分路径供您使用!例如,你可以这样做:

<?php
    $xmlFile = pathinfo('/usr/admin/config/test.xml');

    function filePathParts($arg1) {
        echo $arg1['dirname'], "\n";
        echo $arg1['basename'], "\n";
        echo $arg1['extension'], "\n";
        echo $arg1['filename'], "\n";
    }

    filePathParts($xmlFile);
?>

这将返回:

/usr/admin/config
test.xml
xml
test

这个函数从PHP 5.2.0开始就可以使用了!

然后你就可以根据需要操纵所有部件了。例如,要使用完整路径,你可以这样做:

$fullPath = $xmlFile['dirname'] . '/' . $xmlFile['basename'];

您正在寻找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"
?>
$filename = basename($path);

为了从URI中获得确切的文件名,我将使用以下方法:

<?php
    $file1 =basename("http://localhost/eFEIS/agency_application_form.php?formid=1&task=edit") ;

    //basename($_SERVER['REQUEST_URI']); // Or use this to get the URI dynamically.

    echo $basename = substr($file1, 0, strpos($file1, '?'));
?>

为了在最少的行数内完成这一操作,我建议使用内置的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'