kostenloser Webspace werbefrei: lima-city


kleines php Script 2 - um HTML aus Ordner auszulesen..

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    same-one

    same-one hat kostenlosen Webspace.

    Hi!

    Ich habe schon einen thread und hätte indem auch weiter geschreiben, wenn ich
    EDIT / BEARBEITEN finden würde, aber ich finde es nirgendswo und Doppelpost geht
    ja nicht!


    Ich vermute das das VIEL zu gross verstanden wurde...Ich habe etwas ähnliches gefunden und
    kriege es nicht gebacken umzuändern.

    Ich brauch einen PHP-Code, der aus einem bestimmten Ordner NUR die .html-Dokumente
    holt und dann nebeneinander auf der einen Seite auflistet!


    Die .html-Dokumente sind sozusagen einzelne "News", und werden mit einer Zahl benannt
    (z.B. 1.html // 2.html // 3.html // ...usw.) und die größe Zahl soll als Erstes gezeigt werden...
    also chronologisch rückwärts (Ich hoffe das ist verständlich?).

    Mit freundlichen Grüssen
    same1
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. PHP.NET ist glaube ich dein Freund bei dieser Aufgabe ;-)

    siehe http://de3.php.net/manual/de/function.readdir.php

    Dort findest du unter anderem folgendes:
    <?php
    if ($handle = opendir('.')) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != "..") {
                echo "$file\n";
            }
        }
        closedir($handle);
    }
    ?>


    Dann passt du halt noch die if Bedingung an, dass nur noch html Dateien ausgegeben werden und gut ist.

    Grüßle

    Edit: URL Tags ergänzt

    Beitrag zuletzt geändert: 4.5.2009 17:51:55 von scout
  4. Die if-Bedingung könntest du zum Beipsiel erweitern durch:
    && preg_match('[0-9]+.html$', $file)
  5. Also ich stelle mal den Sinn ein wenig in Frage. Mit einer einer Datenbank und einem gescheiten Newsscript bist Du besser bedient, als mit einem solch umständlichen Konstruckt. Denn was machst Du wenn sich das Design der Seite ändert? Alle HTML überarbeiten? Das kann je nach Menge der News mit unter recht lange dauern.

    Falls Du keine Datenbank hast, geht das ganze aber auch noch via XML, wie genau kann ich Dir nicht sagen, da ich selten XML für ein CMS verwende.
  6. Autor dieses Themas

    same-one

    same-one hat kostenlosen Webspace.

    strange schrieb:
    Also ich stelle mal den Sinn ein wenig in Frage. Mit einer einer Datenbank [...] solch umständlichen Konstruckt. Denn was machst Du wenn sich das Design der Seite ändert? Alle HTML überarbeiten? Das kann je nach Menge der News mit unter recht lange dauern.


    Naja, ich selbst (habe keinen Plan von PHP!) und empfinde das einfacher als mit diesen Datenbanken etc.!
    Und das Layout bleibt immer das gleiche, vllt. ändere ich die Farben aber das kann man ja mit CSS händeln.

    nikic schrieb: Die if-Bedingung könntest du zum Beipsiel erweitern durch:
    &amp;&amp; preg_match('[0-9]+.html$', $file)


    Wo kommt das denn dann genau hin, muss ich dieses "preg_match" mit der
    if ($file != "." && $file != "..") {
    ersetzen?
    Und wo kommt das Datei-Endung hin? So:

    if ($file != "." && $file != ".html") {


    Mit freundlichen Grüssen
    same1
  7. t*****b

    $verzeichnis = "./pfad/zu/html/dateien/";
    $dateityp = "html";
    
    while($file = readdir($verzeichnis)){
     if(substr($file,strlen($dateityp)+1) == ".".$dateityp){
      echo "Noch eine HTML-Datei: ".$file."<br />";
     }
    }


    Beitrag zuletzt geändert: 4.5.2009 18:09:05 von trueweb
  8. same-one schrieb:
    nikic schrieb: Die if-Bedingung könntest du zum Beipsiel erweitern durch:
    &amp;&amp; preg_match('[0-9]+.html$', $file)


    Wo kommt das denn dann genau hin, muss ich dieses "preg_match" mit der
    if ($file != "." && $file != "..") {
    ersetzen?
    Und wo kommt das Datei-Endung hin? So:

    if ($file != "." && $file != ".html") {


    Mit freundlichen Grüssen
    same1

    Nein, das kannste einfach ans Ende der if-Abfrage einfügen:
    <?php
    if ($handle = opendir('.')) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != ".." && preg_match('[0-9]+\.html$', $file)) {
                echo "$file\n";
            }
        }
        closedir($handle);
    }
    ?>


    Das preg_match prüft eigentlich nur, ob am Ende des Strings ($) ein .html steht und davor eine Zahl ([0-9]+).

    Beitrag zuletzt geändert: 4.5.2009 18:34:59 von nikic
  9. Schau Dir eingach mal ein fertiges CMS an, man muss ja nicht immer das Rad neu erfinden. Es gibt für fast jeden Anwender das richtige CMS! Ok, man braucht ein wenig Einarbeitungszeit, aber es ist einfacher sich auf ein bestehendes System einzuschießen, statt umständlich selbst was zu basteln.

    Wenn Du Dich schon ein wenig mit PHP auskennst empfehle ich Dir Redaxo, damit hast Du die volle Kontrolle über das CMS und kannst es beliebig erweitern. Nachteil, es sind zwingend PHP-Kenntnisse erforderlich da man Module und PlugIns selbst zusammen stellen muss. Es gibt zwar schon fertige Module, die sind aber eher als Beispielmaterial zu sehen, aber für den Anfang reichen sie.

    Großer Vorteil des Systems, die einzelnen Artikel werden nicht dynamisch aus einer Datenbank gelesen, sondern werden gecached und sind somit selbst bei einem Datenbankproblen zu lesen. Die Seiten werden aktualisiert, sobald sich der Inhalt ändert und nicht wie bei den meisten Systemen erst nach einer bestimmten Zeit.


    Wie auch immer, eine Datenbankbasierte Lösung ist auf Jedenfall besser. Wenn Du das unbedingt selbst machen willst solltest Du Dir mal das QNET PHP Tutorial angucken.
  10. Autor dieses Themas

    same-one

    same-one hat kostenlosen Webspace.

    nikic schrieb:
    <?php
    if ($handle = opendir('.')) {



    Und anstatt dem Punkt in opendir('PUNKT') schreibe ich den Ordner-Namen?

    same1
  11. same-one schrieb:
    nikic schrieb:
    &lt;?php
    if ($handle = opendir('.')) {



    Und anstatt dem Punkt in opendir('PUNKT') schreibe ich den Ordner-Namen?

    same1


    genau ;-) zum Bsp. '/var/www/testseite'

    Grüßle
  12. Autor dieses Themas

    same-one

    same-one hat kostenlosen Webspace.

    scout schrieb:
    genau ;-) zum Bsp. '/var/www/testseite'

    Grüßle


    ok, aber es will nicht funktionieren:

    http://same-one.lima-city.de/blog/index.php

    mit freundlichen grüßen
    same1
  13. Da fehlen die Begrenzer ;-)
    if ($file != "." && $file != ".." && preg_match('[0-9]+\.html$', $file)) {


    richtig wäre:
    if ($file != "." && $file != ".." && preg_match('/[0-9]+\.html$/i', $file)) {


    Grüßle

    Beitrag zuletzt geändert: 6.5.2009 11:25:23 von scout
  14. machen wir einen deal?

    Ich gebe dir ein newsscript was du dann, wenn du PHP kannst beliebig erweitern kannst und du hoerst auf MySQL zu misachten ;-)

    Melde dich einfach, wenn du interesse hast.
    Gruss
    Daniel
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!