Mailinglisten-Archive |
Hallo
Zusammen dieses Code schnipsel soll den server nach htm oder html dateien,
verzeichnissen
scannen und dies am bildschirm aus geben und in ein file schreiben. Jedoch
ist
die reihenfolge im file nicht glich wie im code der angezeigt wird. Was für
mich ziemlich unlogisch ist (verzeichnisse kommen zuletzt) was muss ändern
damit
beides identisch ist?
mfG
Thomas Michel
----------Code-----------------
<?PHP
_(at)_unlink("c:/apache/htdocs/layersmenu.txt");
function show_dir($dir, $pos=2)
{
$fp = fopen("c:/apache/htdocs/layersmenu.txt", "a+");
if($pos == 2)
{
echo "<hr><pre>";
}
$handle = _(at)_opendir($dir);
while ($file = _(at)_readdir ($handle))
{
if (eregi("^\.{1,2}$",$file))
{
continue;
}
if(is_dir($dir.$file))
{
printf ("% ".$pos."s <b>%s</b>\n", "|-", $file);
show_dir($dir.$file."/", $pos + 3);
}
else
{
if(eregi("^[^_]*.(html|htm)",$file))
{
$htmldatei="";
$dateipfad="/".$dir.$file;
$dateioeffnen=_(at)_file($dateipfad);
for($a=0;$a<count($dateioeffnen);$a++)
{
$htmldatei.=$dateioeffnen[$a];
}
preg_match('=<title>([^<>]+)</title>=smi',$htmldatei,$regs);
if(count($regs)>1)
{
$titel=$regs[1];
}
else
{
$dateititel=explode(".",$file);
$titel=ucfirst($dateititel[0]);
}
printf ("% ".$pos."s <a href=\"/$dir$file\">$titel</a>\n", "|_",
$file);
for($a=0;$a<=$pos;$a++) $writeinfile1.= ".";
$writeinfile1.=$titel."|".$dir.$file."|".$titel."\n";
fwrite($fp,$writeinfile1);
}
}
}
_(at)_closedir($handle);
if($pos == 2)
{
echo "</pre><hr>";
}
}
show_dir("");
?>
php::bar PHP Wiki - Listenarchive