17

我正在编写一个函数来获取一些不同的数据库查询。现在事情进展顺利,但只需要从定义的路径中获取最后一个目录名。

$qa_path=site_root('/learnphp/docs/');

我只想docs从上面的路径中获取。这里 site_root 什么都不是,$_SERVER['DOCUMENT_ROOT']那么我怎么才能得到docs呢?

谢谢

4

8 回答 8

32

最简单的方法是使用basename($yourpath)您可以在此处看到的:http: //php.net/basename

于 2013-01-11T19:21:27.763 回答
31

如果您的字符串末尾包含文件,则提供的答案不起作用,例如:

basename('/home/mypath/test.zip');

test.zip

因此,如果您的字符串包含文件,请不要忘记先对其进行dirname

basename(dirname('/home/mypath/test.zip'));

mypath
于 2014-11-06T11:52:42.353 回答
6

这是最简单的方法:

<?php
  echo basename(getcwd());
?>

getcwd() = 给你完整的目录路径 basename() = 给你最后一个目录

于 2017-03-12T08:27:40.467 回答
2

尝试explode('/', '/learnphp/docs/') 将字符串拆分为数组位置。然后获取最后一个位置。

这里有更多信息: http: //php.net/manual/en/function.explode.php

于 2013-01-11T19:21:40.007 回答
1

你可以使用这个简单的片段:

$qa_path=site_root('/learnphp/docs/');
$qa_path = explode("/", $qa_path);
$qa_path = $qa_path[count($qa_path) - 1];
于 2013-01-11T19:22:11.327 回答
1
$qa_path=explode('/', '/learnphp/docs/');
echo $qa_path[2]; // output docs
于 2013-01-11T19:24:35.590 回答
1

这将帮助你

$qa_path=site_root('/learnphp/docs/');
$q_path = explode ("/", $qa_path);
$lastV =  end($q_path);
于 2013-01-11T19:38:39.930 回答
1

这将为您提供当前目录名称: echo basename(dirname(__FILE__));

于 2015-08-14T04:27:48.843 回答