通过php请求网址获取文件夹名称

时间:2014-12-08 23:11:36

标签: php require

我需要通过PHP获取当前文件夹名称。我已经知道basename会帮助你。

<?php echo basename(__DIR__); ?>

但由于我的文件夹结构,它不会帮助我。

这是我奇怪的设置;

|的template.php
| /页/
| /页/的 requiredfoldername 的index.php

所以在我的index.php中,它只是一行

<?php include './../../template.php'; ?>

所以我的问题是我应该写什么来获取template.php以获取当前的foldername?

4 个答案:

答案 0 :(得分:0)

getcwd();

or

dirname(__FILE__);

or (PHP5)

basename(__DIR__) 

http://php.net/manual/en/function.getcwd.php

http://php.net/manual/en/function.dirname.php

答案 1 :(得分:0)

两次使用dirname()<?php include(dirname(dirname(__FILE__)); ?>

答案 2 :(得分:0)

这就是你需要的:

dirname($path)

dirname 给定一个包含文件或目录路径的字符串,此函数将返回父目录的路径。

__ FILE __ 解决了符号链接的文件的完整路径和文件名。如果在include中使用,则返回包含文件的名称。

-

在template.php中, __ FILE __ 是template.php的绝对路径:

/[path to your app]/template.php

然后 dirname(__ FILE __)返回:

/[path to your app]/

-

在index.php内, __ FILE __ 是index.php的绝对路径:

/[path to your app]/pages/requiredfoldername/index.php

然后 dirname(__ FILE __)返回:

/[path to your app]/pages/requiredfoldername

同样在template.php中,也许$ _SERVER可以帮助您使用密钥&#39; SCRIPT_FILENAME&#39;。此密钥包含当前正在执行的脚本的绝对路径(在CLI中有例外):

如果/pages/requiredfolder/index.php是应用程序的入口点,当您包含template.php时,当前正在执行的脚本仍为index.php。所以$ _SERVER [&#39; SCRIPT_FILENAME&#39;]将是

'/[path to your app]/pages/requiredfoldername/index.php'

在$ _SERVER [&#39; SCRIPT_FILENAME&#39;]中使用dirname会导致:

'/[path to your app]/pages/requiredfoldername'

答案 3 :(得分:0)

<?php
    $parts = explode("/", $_SERVER['REQUEST_URI']);

    echo $parts[3];


?>

谢谢大家,我问我的朋友,他想出了这个解决方案。它有效!!!