Dynamische Datei-Erstellung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dynamische Datei-Erstellung

    Moin, moin,
    ich kämpfe da gerade mit einem Problem, mit dem ich nicht weiterkomme.
    Bin mir nicht sicher ob ich einen Syntax oder einen Denkfehler habe.
    Wäre nett wenn jemand einen Tipp für mich hat.

    Ich möchte gerne HTML-Seite erzeugen, deren Benennung und Inhalt sich aus Agumenten zusammen setzt, die ich einer Datenbank entnehme.

    z.B.
    ID 1-10
    ergibt
    1.html bis 10.html

    Ich habe mir das so oder so ähnlich gedacht:
    Datenbankabfrage und dann
    while($row = mysql_fetch_row($result))
    {
    $fp = fopen ('$Datenbankfeld',"w");
    fputs ($fp, "ganz viel Text oder Quelltext"); bzw. fputs ($fp, "\$Datenbankfeld2");
    fclose($fp);
    }

    klappt aber irgendwie nicht *schmoll*

    Gruß
    Roger

    P.S. habe schon diverse FAQ`s durch und nix brauchbares gefunden.

  • #2
    Re: Dynamische Datei-Erstellung

    schau dir im manual an, welche bedeutung der zweite parameter "w" bei fopen hat - dann dürfte dir auch klar werden, warum es unklug ist, das öffnen der datei innerhalb der while-schleife zu machen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      schreiben, ist mir schon klar
      darum geht es doch die ganze zeit
      die seiten sollen auch direkt bei anlage gefüllt werden

      gruß
      Roger

      Kommentar


      • #4
        Was genau klappt denn nicht?
        Werden die Dateien nicht angelegt?
        Werden leere Dateien angelegt?
        Werdendateien mit falschem Namen angelegt?
        Kommt überhaupt ein Ergebnis aus der Datenbank zurück?

        nb: wenn dir hier jemand sagen soll, ob du einen syntaxfehler hast, musst du schon den genauen code posten

        Kommentar


        • #5
          Angelegt und gefüllt wird die Datei.
          Was nicht klappt ist fortlaufende Dateien anzulegen

          Klappt (Wird natürlich immer wieder überschrieben):
          while($row = mysql_fetch_row($result))
          {
          $fp = fopen ("eineDatei.html","w");
          fputs ($fp, "ganz viel Text oder Quelltext"); bzw. fputs ($fp, "\$Datenbankfeld2");
          fclose($fp);
          }

          Klappt nicht:
          while($row = mysql_fetch_row($result))
          {
          $fp = fopen ('$Datenbankfeld.html',"w");
          fputs ($fp, "ganz viel Text oder Quelltext"); bzw. fputs ($fp, "\$Datenbankfeld2");
          fclose($fp);
          }

          Kommentar


          • #6
            $fp = fopen ('$Datenbankfeld.html',"w");
            das variablen innerhalb von einfachen hochkommata nicht geparst werden, sollte sich doch aber langsam mal rumgesprochen haben ...
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              ich habe das schon "ohne", "mit einfachen", "mit doppelten" und mit geschützten Sonderzeichen probiert..........
              klappt alles nicht.
              Ganz so blöd bin ich nun auch wieder nicht, dass ich das nicht registriere bzw. ausprobiere

              Gruß
              Roger

              Kommentar


              • #8
                P.S. Selbst wenn es nicht so wäre, solltest Du mal darüber nachdenken, wie Du angefangen hast (wenn du das noch weißt) bevor Du versuchst andere Leute abzusauen.

                Gruß
                Roger

                Kommentar


                • #9
                  hm also nur noch mal zum Verständnis:

                  '$Datenbankfeld.html' ist falsch
                  "$Datenbankfeld.html" ist richtig
                  $Datenbankfeld.'.html' ist besser

                  So nu zum code:
                  Da es bei einer bestimmten Datei klappt, kann es eigentlich nur am $Datenbankfeld liegen. D.h. entweder ist diese var komplett leer oder sie ändert sich nicht oder sie enthält zeichen die in einem Dateinamen nicht vorkommen dürfen. Probiers mal mit nem echo $Dateiname

                  Kommentar


                  • #10
                    Original geschrieben von oppi
                    $Datenbankfeld.'.html' ist besser
                    Wußte gar nicht das, dass auch geht *staun*
                    Original geschrieben von oppi
                    Probiers mal mit nem echo $Dateiname
                    Gute Idee. Probiere ich gleich aus. Danke erst einmal

                    Gruss
                    Roger

                    P.S. ich melde mich gerne wieder wenn es nicht klappt

                    Kommentar


                    • #11
                      *lol*
                      Ich hab den Fehler gefunden, ist genauso simple wie einfach und peinlich:
                      Hinter dem Eintrag in der Datenbank hat sich ein Leerzeichen versteckt.
                      So konnte natürlich keine brauchbare Datei erzeugt werden (blöd, blöd, blöd.........)

                      Trotzdem danke für die Tipps.

                      Gruß
                      Roger

                      Kommentar

                      Lädt...
                      X