Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Sitemap auch für unterordner erstellen

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
alph
PostRank 4
PostRank 4
Beiträge: 139
Registriert: 25.10.2005, 01:20

Beitrag von alph » 16.01.2007, 18:30

Hallo leute

zurzeit benutze ich folgendes script für meine sitemap:
<!--Anfang Sitemap --><?php

echo load_dir_files(".");


function load_dir_files($path){
$dir = dir($path);
$extensions = Array(
"htm" /* (X)HTML */
);

$regex = "/^.+\.(".$extensions[0];
foreach($extensions as $ext){
$regex .= "|".$ext;
}
$regex .= ")$/i";

while($file = $dir->read()){
if(preg_match($regex,$file)){
$fp = fopen($path."/".$file,"r");
$file_read = fread($fp,1000000);

preg_match(
"/(<title>)(.*)(<\/title>)/i",
$file_read, $result);

$title = ($result[2]) ? $result[2] : "Kein Titel";
$return .= "<a href=\"".$path."/".$file."\"";
$return .= " title=\"".$title."\">";
$return .= $title."</a><br />";
fclose($fp);
}
}
$dir->close();

return $return;
}

?><!--Ende Sitemap -->
diese sitemap ist im hauptordner abgelegt, also da wo die komplette webseite liegt, die kann aber nur die seiten anzeigen, die im hauptordner liegen. Mittlerweile habe ich auch viele unterordner und unterunterordner, die auch eine menge an seiten beinhalten. meine frage nun: kann mir jemand ein script posten, der auch alle ordner und unterordner abfragt? Oder kann mir vielleicht jemand das o.g. script dementsprechend ändern und hier posten?

wäre euch echt sehr dankbar dafür!! :)

grüße
alph

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

alph
PostRank 4
PostRank 4
Beiträge: 139
Registriert: 25.10.2005, 01:20

Beitrag von alph » 18.01.2007, 15:26

hey Leuz,

ich habs schon selbst über google gefunden! :D

Falls es noch jemand braucht, hier ist das Script:
<!--Anfang Sitemap --><?php

$ext = array('htm','html');
$dateibild = 'https://www.deine-domain.de/pfeil.gif';
$ordnerbild = 'https://www.deine-domain.de/ordner.gif';

if ($dateibild) $dateibild = "<img alt=\"datei\" src=\"$dateibild\">";
if ($ordnerbild) $ordnerbild = "<img alt=\"ordner\" src=\"$ordnerbild\">";

function listedatei ($datei)
{
global $ext;
$thisext = explode ('.', $datei);
$thisext = array_pop($thisext);
if (in_array($thisext,$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";
}

$sitemap = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"https://www.w3.org/TR/xhtml11/DTD/xhtml ... head><meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/><title>Sitemap</title></head><body>". sitemap('.') .'</body></html>';
echo $sitemap;

?>
<!--Ende Sitemap -->
WICHTIG: ganz oben im Script die Grafik-URLs gegen eure eigenen austauschen ($dateibild = 'https://www.deine-domain.de/pfeil.gif';
$ordnerbild = 'https://www.deine-domain.de/ordner.gif')

Na denn viel Spass! :)

grüße
alph

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag