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