Hallo Christophe,
tut mir leid, daß Dich, wie viele andere auch schon, der Spott zu Deinem ungelösten Problem trifft.
Es gibt eine Lösung, die aber per Click - nicht per Taste funzelt und liest bzw. ordnet immer den Odnerinhalt logisch ab:
<?php
if(!empty($_SERVER["QUERY_STRING"])) $dir=urldecode($_SERVER["QUERY_STRING"]);
else $dir=".";
$ordner[0]="";
$datein[0]="";
$h=opendir($dir);
while ($f=readdir($h))
{
if ($f!="." && $f!=".." && is_dir($dir."/$f")) $ordner[strtolower($f[0])][]="<div><a href='$_SERVER[PHP_SELF]?".urlencode("$dir/$f")."'><b>$f</b></a></div>";
elseif ($f!="." && $f!="..") $datein[strtolower($f[0])][]="<div>$f</div>";
}
closedir($h);
if(is_array($ordner))
{
ksort($ordner);
reset($ordner);
}
if(is_array($datein))
{
ksort($datein);
reset($datein);
}
?>
<html>
<head>
<style>
a {font-weight:normal;text-decoration:none}
.con {height:400px;overflow:auto}
</style>
<body>
<table>
<tr><th width="200">Anfangsbuchstaben</th>
<th>Ordnerinhalt von <u><?php echo $dir ?></u></th></tr>
<tr><td valign="top"><p>Ordner:<br>
<?php
foreach($ordner as $k=>$v) {if($k) echo "<a href='#o$k'>$k</a> ";}
echo "</p><p>Datein:<br>";
foreach($datein as $k=>$v) {if($k) echo "<a href='#d$k'>$k</a> ";}
echo "</p><a href='#top'>top</a></td><td><div class='con'><a name='#top'> </a>";
foreach($ordner as $k=>$v)
{
if($k)
{
echo "<div><a name='#o$k'><b>$k</b></a></div><blockquote>";
for($i=0;$i<count($ordner[$k]);$i++) {echo $ordner[$k][$i];}
echo "</blockquote>";
}
}
foreach($datein as $k=>$v)
{
if($k)
{
echo "<div><a name='#d$k'><b>$k</b></a></div><blockquote>";
for($i=0;$i<count($datein[$k]);$i++) {echo $datein[$k][$i];}
echo "</blockquote>";
}
}
?>
</div></td></tr></table></body></html>
Gruß aus Berlin!
eddi