我有以下代码对当前目录中的文件进行排序:
<?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?
干杯。
答案 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