Hallo zusammen, wer kann einem verzweifelten PHP-Anfänger weiterhelfen.
Ich habe einen Code, welcher ein Sitemap über meine ganze HP erstellen soll.
Dies macht er sehr gut, aber viel zu detailliert. Nun möchte ich einige verzeichnisse (_vto_cnf) von der Suche ausschliessen,
bringe es jedoch nicht zu Stande.
Wer kann mir weiterhelfen?????
Vielen Dank für eure Mithilfe.
[PHP<?php
$ext = array('htm','html','doc'); # Endungen der Dateien, die angezeigt werden sollen
$dateibild = 'http://web.intranet.svaag.ch/images/datei.gif'; # Bild url fuer Datei-Icon
$ordnerbild = 'http://web.intranet.svaag.ch/images/ordner.gif'; # Bild url fuer Ordner-Icon
#################################################
if ($dateibild) $dateibild = "<img alt=\"datei\" src=\"$dateibild\">";
if ($ordnerbild) $ordnerbild = "<img alt=\"ordner\" src=\"$ordnerbild\">";
function listedatei ($datei)
{
global $ext;
$thi************t = explode ('.', $datei);
$thi************t = array_pop($thi************t);
if (in_array($thi************t,$ext)) return TRUE;
else return FALSE;
}
# ueberprueft ob ordner zu listende Dateien enthaelt
function notempty($ordner)
{
$dir = opendir($ordner);
while ($file = readdir($dir))
{
if ($file[0]!='.')
{
if ((is_file("$ordner/$file") && listedatei("$ordner/$file")) || (is_dir("$ordner/$file") && notempty("$ordner/$file"))) return TRUE;
}
}
return FALSE;
}
# gibt datei ohne pfad aus
function showdatei ($datei)
{
$pfad=explode('/',$datei);
return array_pop($pfad);
}
# liest titel-tag aus der datei und gibt den link zurueck
function datei ($datei, $tiefe)
{
global $dateibild;
$file = file($datei);
$file = implode(' ',$file);
preg_match('/<title>(.*?)<\/title>/i', $file, $titel);
if (strlen($titel[1])>0) $link="<a href=\"$datei\">". htmlentities($titel[1]) .'</a>';
else $link="<a href=\"$datei\">". showdatei($datei) .'</a>';
return str_repeat("\t",$tiefe) ."<li class=\"datei\">$dateibild $link</li>\n";
}
# liest den ordner aus, ruft fuer jede datei die funktion 'datei' auf sowie fuer jeden ordner sich selbst.
function sitemap ($ordner, $tiefe=0)
{
global $ordnerbild;
$dir = opendir($ordner);
$luft = str_repeat("\t",$tiefe);
while ($file = readdir ($dir))
{
if ($file[0]!='.')
{
if (is_dir("$ordner/$file") && notempty("$ordner/$file")) $sitemap .= "$luft<li class=\"ordner\">$ordnerbild $file". sitemap ("$ordner/$file", $tiefe+1) ."$luft</li>\n";
elseif (listedatei ($file)) $sitemap .= datei ("$ordner/$file", $tiefe);
}
}
closedir($dir);
return "\n$luft<ul>\n$sitemap$luft</ul>\n";
}
?>
[/PHP]
Ich habe einen Code, welcher ein Sitemap über meine ganze HP erstellen soll.
Dies macht er sehr gut, aber viel zu detailliert. Nun möchte ich einige verzeichnisse (_vto_cnf) von der Suche ausschliessen,
bringe es jedoch nicht zu Stande.
Wer kann mir weiterhelfen?????
Vielen Dank für eure Mithilfe.
[PHP<?php
$ext = array('htm','html','doc'); # Endungen der Dateien, die angezeigt werden sollen
$dateibild = 'http://web.intranet.svaag.ch/images/datei.gif'; # Bild url fuer Datei-Icon
$ordnerbild = 'http://web.intranet.svaag.ch/images/ordner.gif'; # Bild url fuer Ordner-Icon
#################################################
if ($dateibild) $dateibild = "<img alt=\"datei\" src=\"$dateibild\">";
if ($ordnerbild) $ordnerbild = "<img alt=\"ordner\" src=\"$ordnerbild\">";
function listedatei ($datei)
{
global $ext;
$thi************t = explode ('.', $datei);
$thi************t = array_pop($thi************t);
if (in_array($thi************t,$ext)) return TRUE;
else return FALSE;
}
# ueberprueft ob ordner zu listende Dateien enthaelt
function notempty($ordner)
{
$dir = opendir($ordner);
while ($file = readdir($dir))
{
if ($file[0]!='.')
{
if ((is_file("$ordner/$file") && listedatei("$ordner/$file")) || (is_dir("$ordner/$file") && notempty("$ordner/$file"))) return TRUE;
}
}
return FALSE;
}
# gibt datei ohne pfad aus
function showdatei ($datei)
{
$pfad=explode('/',$datei);
return array_pop($pfad);
}
# liest titel-tag aus der datei und gibt den link zurueck
function datei ($datei, $tiefe)
{
global $dateibild;
$file = file($datei);
$file = implode(' ',$file);
preg_match('/<title>(.*?)<\/title>/i', $file, $titel);
if (strlen($titel[1])>0) $link="<a href=\"$datei\">". htmlentities($titel[1]) .'</a>';
else $link="<a href=\"$datei\">". showdatei($datei) .'</a>';
return str_repeat("\t",$tiefe) ."<li class=\"datei\">$dateibild $link</li>\n";
}
# liest den ordner aus, ruft fuer jede datei die funktion 'datei' auf sowie fuer jeden ordner sich selbst.
function sitemap ($ordner, $tiefe=0)
{
global $ordnerbild;
$dir = opendir($ordner);
$luft = str_repeat("\t",$tiefe);
while ($file = readdir ($dir))
{
if ($file[0]!='.')
{
if (is_dir("$ordner/$file") && notempty("$ordner/$file")) $sitemap .= "$luft<li class=\"ordner\">$ordnerbild $file". sitemap ("$ordner/$file", $tiefe+1) ."$luft</li>\n";
elseif (listedatei ($file)) $sitemap .= datei ("$ordner/$file", $tiefe);
}
}
closedir($dir);
return "\n$luft<ul>\n$sitemap$luft</ul>\n";
}
?>
[/PHP]
Kommentar