仅从Smarty的路径获取目录名称

时间:2011-05-30 17:57:18

标签: php directory smarty

我无法分配自己的PHP函数。(我只能访问TPL文件)。

到目前为止,我得到{$smarty.server.PHP_SELF},返回类似/foo/bar.xin的内容。有了内置函数,我想获得/foo/

3 个答案:

答案 0 :(得分:1)

正如我所说,不推荐使用{php}代码,但您可以执行以下操作:

{php}
$php_self = $_SERVER['PHP_SELF'];
$path = substr($php_self, 0, strrpos($php_self, '/'));
// assign a variable to Smarty
$this->assign('path',$path);
{/php}
Path: <strong>{$path}</strong>

我无法对此进行测试,因为我没有可供使用的解析器,但它遵循Smarty文档页面上的示例:

http://www.smarty.net/docs/en/language.function.php.tpl

答案 1 :(得分:1)

假设启用了dirname功能,

{$smarty.server.PHP_SELF | dirname}将返回/foo(请参阅Smarty security settings中的php_modifiers)。

答案 2 :(得分:0)

{$smarty.server.DOCUMENT_ROOT}  

将返回服务器路径