Smarty中有没有办法获取字符串的文件扩展名

时间:2014-01-23 12:34:39

标签: smarty

因为我们可以使用explode函数或in_array检查来获取php中的文件扩展名。 Smarty中有没有办法获取字符串的文件扩展名。 但是我们如何才能使用smarty在tpl页面中获取文件扩展名?目前我将所有扩展名作为数组传递,并使用{foreach}在tpl文件中列出。

2 个答案:

答案 0 :(得分:3)

试试这个

<?php

    $smarty->assign('filename', 'foo\bar.txt');

?>

{*在你的tpl *}

{$filename|pathinfo:$smarty.const.PATHINFO_EXTENSION}

{*你得'txt'*}

答案 1 :(得分:1)

我使用的是我为此创建的插件:

<?php
function smarty_modifier_file_extension($file)
{
    $bits = explode('.',$file);
    $ext = $bits?array_pop($bits):''; 
    return $ext;
}

将它保存为smarty的plugins文件夹中的modifier.file_extension.php(如果有的话,还可以在自定义插件文件夹中保存)并使用它:

 {$filename|file_extension}