在文件名旁边添加图标

时间:2019-01-05 20:51:03

标签: php html

我有以下代码对当前目录中的文件进行排序:

<?php
$folders = array_filter(glob('*'), 'is_dir');

foreach ($folders as $foldlist) {

echo "<tr><td><img src=\"/index/RESSOURCES/icon/folder.png\"></td><td><a href=\"{$foldlist}\">{$foldlist}</a></td><td><a href=\"#info\" onclick=\"loadDoc('{$foldlist}')\"><img src=\"/RESSOURCES/icon/info.png\"></a></td></tr>";
}
$files = glob("*.*");

foreach ($files as $filename) {
$type=substr($filename,strrpos($filename,'.')+1);
echo "<tr><td><img src=\"/index/RESSOURCES/icon/{$type}.png\"></td><td><a href=\"{$filename}\">{$filename}</a></td><td><a href=\"#info\" onclick=\"loadDoc('{$filename}')\"><img src=\"/RESSOURCES/icon/info.png\"></a></td></tr>";
}

?>

它有效,不用担心。最近几天我一直在排除故障的一个小问题:

如果运行我的代码,则会在每个文件名之前看到一个图标。它采用文件的格式获取正确的图标。酷吧?

但这是我的问题: 可以说我有两个文件:dummy.zip和dummy.tar。

两个文件都将获取“ zip.png”和“ tar.png”-两个图标完全相同。因此,基本上,即时消息使客户端加载相同图标的两倍,而女巫则使我的页面运行速度明显变慢。没有戏剧性吗?好吧,我现在有一百多个文件... Witch几乎所有文件都有不同的格式。

如何做到这一点: 如果$ icon == zip或tar或gz LOAD zip.png?

干杯。

1 个答案:

答案 0 :(得分:2)

一行之后

$type = substr($filename,strrpos($filename,'.')+1);

及之前

echo "<tr><td><img src=\"/index/RESSOURCES/icon/{$type}.png\"></td><td><a href=\"{$filename}\">{$filename}</a></td><td><a href=\"#info\" onclick=\"loadDoc('{$filename}')\"><img src=\"/RESSOURCES/icon/info.png\"></a></td></tr>";

您可以只添加以下代码

if($type == 'zip' || $type == 'tar' || $type == 'gz') {
    $type = 'zip';
}

这三种情况下都会加载zip.png