joerg
Avatar joerg
Themenersteller
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)

Urllist aus Sitemap erstellen

am 18.04.2010, 11:29 Uhr eröffnete joerg folgenden Thread
PHP & MySQL    2450 mal gelesen    5 Antwort(en).

Hallo

Nachdem Florian gestern mal das Stichwort XML Datenbank fallen liess, habe ich mich gefragt ob ich nicht eine urllist.txt automatisch aus einer Sitemap erzeugen kann!

Abgesehen davon das das Skript noch nicht auf dem Stand ist das ich die urllist.txt dann noch abspeichere funktioniert es!


<?php
$xml = simplexml_load_file('http://prskspedia.de/sitemap.xml');
foreach ($xml->url as $data)
{
$url .= ''.$data->loc.'
';
}
$xml = simplexml_load_file('http://prskspedia.de/sitemap/wikisitemap0.php');
foreach ($xml->url as $data)
{
$url .= ''.$data->loc.'
';
}
echo $url;
?>


Wie sinnvoll eine Urllist heutzutage noch ist mag dahin gestellt sein!
Nur die Grundidee eine auch aus dynamisch generierten Sitemaps zu erzeugen finde ich nicht so schlecht.

Gruß
Jörg


Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools

georg123
Avatar georg123
Diplomökonom (Pensionär)
Content Halbgott (569 Beiträge)
am 18.04.2010, 11:42 Uhr schrieb georg123

joerg schrieb:


Wie sinnvoll eine Urllist heutzutage noch ist mag dahin gestellt sein!
Nur die Grundidee eine auch aus dynamisch generierten Sitemaps zu erzeugen finde ich nicht so schlecht.

Gruß
Jörg


Hallo Jörg, Du kannst programmieren- drum klappt das. Mit dem Freeware-Programm GSiteCrawler erzeuge ich, bei Bedarf erneut von Hand
-sitemap.xml für GOO
-urlist.txt für YAH
-sitemap.txt für GOO durch Umbenennen der urlist.txt
und alle funktionieren.
Welchen weiteren Vorteil bietet Deine urlist.txt? Oder könnte es sein, daß bei Dir dynamisch alle paar Tage eine neue sitemap.xml automatisch erzeugt wird, woraus dann Dein Programm automatisch auch eine urlist.txt erzeugt? Und hast Du auch ein programm, das automatisch zu GOO/Yah hochlädt???
Dann ist das gewiss eine feine Sache, Gruss Fritz


http://georg-hh.freimaurerei.de

Freiheit-Gleichheit-Brüderlichkeit, Toleranz und Humanität:
Dafür stehen und danach streben Freimaurer

joerg
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 18.04.2010, 11:57 Uhr schrieb joerg

Hallo Fritz

Erst mal bin ich ein absoluter Laie gegen Florian was das Programmieren anbetrifft. Und du kannst das auch lernen! Seit Anfang Februar beschäftige ich mich erst richtig mit PHP mehr aufzustellen!

Den Vorteil den diese Idee für mich hat das sie mir einfach Zeit abnimmt.

Man kann auch soweit gehen aus der Sitemap.xml eine Sitemap für den User zu generieren!

In der Zwischenzeit habe ich mir mal die urllist von Florian angeschaut!
So wie das aussieht ist er schon mehrere Schritte weiter! Seine urllist.txt wird mit PHP geparst und komprimiert mit Gzip.

Gruß
Jörg


Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools

UFOMelkor
Avatar UFOMelkor
Student
Content Meister (350 Beiträge)
am 18.04.2010, 14:36 Uhr schrieb UFOMelkor

$url .= \'\'.$data->loc.\'\';
Das Forum scheint hier dein < br /> wegzustreichen, zitiert man deinen Post, erkennt man, dass die Zeile eigentlich so aussieht:
$url .= \'\'.$data->loc.\'< br />\'; (ohne das Leerzeichen)


Naturkosmetik in Bochum

Steppenhahn Ultramarathon-Community

joerg
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 18.04.2010, 14:56 Uhr schrieb joerg

Hallo Oskar

Ich habe den Code eh jetzt so überarbeitet das meine urllist.txt dynamisch erstellt wird!
Die einzige Frage die ich mir jetzt stelle ist ob Florian seine Urllist aus seiner Datenbank generiert hat!

Dazu habe ich die htaccess erweitert um :
RewriteRule ^(.*)urllist.txt$ urllist.php


<?php
if(!ob_start("ob_gzhandler")) ob_start();
header(\'Content-Type: text/plain; charset=UTF-8\');
$xml = simplexml_load_file(\'http://prskspedia.de/sitemap.xml\');
foreach ($xml->url as $data)
{
$url .= \'\'.$data->loc."\\n";
}
$xml = simplexml_load_file(\'http://prskspedia.de/sitemap/wikisitemap0.php\');
foreach ($xml->url as $data)
{
$url .= \'\'.$data->loc."\\n";
}
echo $url;
?>


Gruß
Jörg


Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools

UFOMelkor
Avatar UFOMelkor
Student
Content Meister (350 Beiträge)
am 18.04.2010, 20:52 Uhr schrieb UFOMelkor

Zwei kleine Hinweise noch zur sauberen Programmierung:
Du solltest die Variable $url initialisieren, ansonsten wir ein E_NOTICE Error geworfen. Alternativ könntest du die Urls auch direkt ausgeben, statt sie erst in einer Variablen zwischenzuspeichern.
Zudem kannst du dir das ?> immer dann sparen, wenn du keine weiteren Ausgaben mehr machst.
Ansonsten sieht das sehr gut aus

Ergänzung zum schließenden PHP-Tag:
Der schließende PHP-Tag wird von PHP nicht benötigt. Allerdings kann ein schließender PHP-Tag zu Fehlern führen:
<?php
//a.php
include \'b.php\';
header(\'Content-Type: text/html\');
?>

<?php
//b.php
//einige anweisungen
?>



Statt dem denke man sich eine unabsichtlich hinzugefügte Leerzeile. Der Code würde zu einem Fehler führen, das vor einem header() Befehl keine Ausgabe erfolgen darf.
Hätte man das schließende PHP-Tag nicht gesetzt, wäre der Fehler nicht entstanden.

Das ganze findet sich mittlerweile in vielen Coding standards, u.A. in denen vom Zend Framework, von Joomla oder von Drupal. Letztere geben eine gute Übersicht über die Gründe:
http://drupal.org/coding-standards#phptags


Naturkosmetik in Bochum

Steppenhahn Ultramarathon-Community

  • 1


« zurück zu: PHP & MySQL

Das Seitenreport Forum hat aktuell 5274 Themen und 36108 Beiträge.
Insgesamt sind 48346 Mitglieder registriert.