Ankündigung

Einklappen
Keine Ankündigung bisher.

Quellcode einer dynamischen Seite kopieren und als Datei speichern

Einklappen

Neue Werbung 2019

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

  • Quellcode einer dynamischen Seite kopieren und als Datei speichern

    Hallo, komme einfach mit einem Problem nicht weiter.
    Ich erzeuge mittels php Webseiten aus Bildern, die ich aus einem Ordner einlese. Beim Klick auf einen Link :
    <A HREF='xyz.php?Bild=".$Grafik."'>Klick</A>
    erstellt sich die Seite aus einer Vorlagedatei xyz.php und der Grafik aus $Grafik. Wie kann dieser Quelltext eingelesen und als html-Datei gespeichert bzw. ausgegeben werden? Die neue Datei sollte dann den Namen von §Grafik bekommen. Auf diese Art möchte ich keine Dateien mit ? und .jpg als Endung ausgeben, sondern jeweils eine richtige html oder php Seite. Da die Grafiken im Ordner, aus denen die Seiten generiert werden, ständig wechseln, wäre es eine immense Arbeit, für jede Grafik immer extra eine eigene Seite zu schreiben. Vielen Dank für jede Hilfe.
    Lothar Seifert
    [URL]http://www.l-seifert.de[/URL]


  • #2
    Hallo!

    Wie sieht denn dein bisheriger Quellcode dafür aus?
    Du kannst nicht verlangen das sich die Leute hier aus den paar Worten ein Kopp machen und Quellcode erraten können!

    mfg der Litter
    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
    http://www.lit-web.de

    Kommentar


    • #3
      Du willst für jedes deine Bilder dynamisch eine eigene Seite erstellen. Das ist grundsätzlich kein Problem.
      Aber ich frage mich, ob das sinnvoll ist. Warum gibst du das Bild nicht direkt aus einem PHP-Script aus, statt u.U. Hunderte von Seiten zu erstellen und zu speichern?
      Gruss
      L

      Kommentar


      • #4
        Php Code

        Hallo und danke an Euch für die Antworten.
        was azydog schreib, ist genau mein Problem. Im Moment kommen Seiten heraus, die eine Endung habe wie:
        /vorlagendatei.php?Bild=grafik.jpg.
        Und genau das möchte ich ändern in /grafik.php.
        Die Seiten können nur beim Aufruf erzeugt werden wie im Moment auch.
        Also Grafiken aus Ordner einlesen, dann Dateien alphabetisch sortieren und nach jpg filtern und dann als Link anzeigen, um beim Klick eine Datei zu erzeugen.
        Mein jetziger Quelltext ist folgender:
        <?php
        $Bildzaehler=0;
        $Etikettenbreite = 150;
        $BilderZeile = 7;
        $verz=opendir("."); //Bilder abrufen und Tumbnails erstellen
        if (!isset($HTTP_GET_VARS["Bild"])){
        print"<TABLE><TR>";
        /* Bilder einzeln durchgehen */
        while ($filename=readdir($verz))
        /* Start sortieren */
        {
        $files[] = $filename; /* Aray &ouml;ffnen */
        }
        sort($files);
        foreach ($files as $Datei) /* Ende sortieren */
        {
        if (is_file($Datei)){
        $Dateierweiterung=pathinfo($Datei);
        $Dateierweiterung=$Dateierweiterung["extension"];
        if (strlen($Datei)>3 && $Datei<>"Thumbs.db"){
        if ($Dateierweiterung=="jpg" or $Dateierweiterung=="JPG"){
        if (is_file("$Datei")){
        $Bildzaehler++;
        if ($Bildzaehler>$BilderZeile){
        print"</TR><TR>";
        $Bildzaehler=1;
        }
        if (!is_file("ordner/"."".$Datei)){
        $size=getimagesize($Datei);
        $breite=$size[0];
        $hoehe=$size[1];
        $neueBreite=130;
        if ($breite<$hoehe){
        $neueBreite=$neueBreite*0.70;
        }
        $neueHoehe=intval($hoehe*$neueBreite/$breite);
        $altesBild=ImageCreateFromJPEG($Datei);
        $neuesBild=imagecreate($neueBreite,$neueHoehe);
        ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$ne ueBreite,$neueHoehe,$breite,$hoehe);
        ImageJPEG($neuesBild,"ordner/"."".$Datei,"50");
        }
        }
        $ALT = $Datei;
        $ALT = preg_replace( "/(.jpg|1|2|3|4|5|6|7|9|-)/im", " ",
        $ALT);
        print "<TD valign=bottom><CENTER><A HREF='vorlage.php?Bild=".$Datei."' title='$ALT' TARGET='_self'><IMG SRC='"."ordner/"."".$Datei."' BORDER='1' alt='$ALT'></A>";
        print "<br><A class='text' HREF='".$Datei."' TARGET='_blank' title='$ALT1'>$ALT</A></CENTER></TD>".chr(13);
        }
        }
        }
        }
        print "</TR></TABLE>";
        }
        ?>

        Aus $DAtei erzeuge ich dann in der Vorlagendatei alle Metaangaben und natürlich die Anzeige der Grafik. Ich hatte mir nur gedacht, dann den Quelltext dieser Seite für eine neu Seite mit .php zu verwenden. Weil hier meine Fähigkeiten komplett am Ende sind. Ich möchte natürlich auch keine sicherheitslücke aufmachen, wenn ich mit (@copy("vorlage.php?Bild="$Datei.jpg, "$Datei.php")) arbeite und dem Ordner alle Rechte geben müsste.
        Es wäre sehr nett, wenn jemand eine Antwort weiß für diese Frage.

        Einen schönen ersten Mai wünscht Euch allen Lothar
        Lothar Seifert
        [URL]http://www.l-seifert.de[/URL]

        Kommentar


        • #5
          Hi,

          Du musst eine html datei erstellen (ambesten manuel) als Template für deine dynamisch generierten Html dateien.

          Danach in deinem script öffnest du diese template-Html ( fopen() )und liest den inhalt danach ersetst du <img scr="babla.jpg" duch deinem automatisch generiertes Bild, und speicherst die datei mit neuen Namen ( fwrite($neueName,$neuInhalt) ) ... Dann hast du für jedes Bild, eine HTML datei !

          Hoffe es war das was du wolltest !

          Kommentar


          • #6
            Hallo,

            danke für die Antwort. Hier weiß ich leider nicht, wie ich es schreiben soll.
            Am Ende sollte eine temporäre Datei mit dem Namen der Grafik und mit der Endung .html rauskommen.
            Viele Grüße und vielen Dank für jede Hilfe
            Lothar
            Lothar Seifert
            [URL]http://www.l-seifert.de[/URL]

            Kommentar


            • #7
              Vielleicht suchst Du auch einfach nur
              Code:
              wget --mirror --convert-links --no-clobber tableOfContents.php
              GNU Wget 1.11.2 Manual

              Kommentar


              • #8
                Hallo, ich gaube, ich muss frustiert aufgeben. Ich kann auch mit wget nichts anfangen. Ein Beispiel, wie es jetzt aussieht:
                http://www.l-seifert.de/naundorf/obe...=Apfelbaum.jpg
                Und da sollte stehen http://www.l-seifert.de/naundorf/Apfelbaum.html
                Dabei soll Apfelbaum.html nur temporär sein.
                Meinen bisherigen Quellcode hatte ich schon mal weiter oben angegeben.

                Lothar
                Lothar Seifert
                [URL]http://www.l-seifert.de[/URL]

                Kommentar


                • #9
                  Zitat von Lothar Beitrag anzeigen
                  Dabei soll Apfelbaum.html nur temporär sein.
                  Dann suchst Du vielleicht mod_rewrite. mod_rewrite, a beginner's guide (with examples)
                  Reines Raten.

                  Kommentar


                  • #10
                    mod_rewrite

                    Hallo David, danke für deinen Hinweis.

                    mod_rewrite ist bestimmt möglich. Nur sollen Suchmaschinen das nicht negativ bewertet. Wegen der Suchmaschinen mache ich ja das eigendlich sinnlose Wandeln einer Adresse in eine andere mit html Endung. Nur so bekomme ich die Seiten in eine Sitemapdatei hinein.
                    Auf dem Auge mod_rewrite bin ich nun total blind, wie ich das schreiben soll. Wie könnte denn so ein Code aussehen?
                    Von vorlagedatei.php?Bild=Grafik.jpg in zum Schluss Grafik.html
                    Ich weiß, es ist viel verlangt, aber kann mir jemand so einen Code aufzeigen? Auch sollen dann nicht alle im Ordner vorhandenen Dateien eine andere Adresse bekommen, sondern nur die mit der temporären Grafik.

                    Viele Grüße von Lothar und wie immer auch vielen Dank für jede Antwort.
                    Lothar Seifert
                    [URL]http://www.l-seifert.de[/URL]

                    Kommentar


                    • #11
                      Zitat von Lothar Beitrag anzeigen
                      mod_rewrite ist bestimmt möglich. Nur sollen Suchmaschinen das nicht negativ bewertet.
                      Von mod_rewrite beokmmen Suchmaschinen nichts mit solange keine externe Weiterleitung passiert.
                      Zitat von Lothar Beitrag anzeigen
                      Nur so bekomme ich die Seiten in eine Sitemapdatei hinein.
                      Wirklich? (Ernst gemeinte Frage, weil ich den ganzen SEO Voodoo ausblende)

                      Kommentar


                      • #12
                        mod_rewrite

                        Danke David für die Antwort,

                        aber wie sollte denn die Datei aussehen, wenn die ausgegebene Datei jeweils einen anderen Namen hat entsprechend dem Bild?

                        Von Deiner angegebenen Seite hätte ich diesen Code:
                        RewriteEngine on
                        RewriteCond %{HTTP_REFERER} !^$
                        RewriteCond %{HTTP_REFERER} !^http://(www\.)?somesite.com/.*$ [NC]
                        RewriteRule \.(gif|jpg|png)$ http://www.somesite.com/nasty.gif [R,L]

                        Wie hier angegeben das nasty.gif ist ja jedesmal anders.
                        Kannst du mir auf die Sprünge helfen?

                        Viele Grüße von Lothar
                        Lothar Seifert
                        [URL]http://www.l-seifert.de[/URL]

                        Kommentar


                        • #13
                          Zitat von Lothar Beitrag anzeigen
                          Kannst du mir auf die Sprünge helfen?
                          Nein, mit mod_reqrite beschäftige ich mich sehr ungerne. Aber da findet sich sicher jemand.

                          Kommentar


                          • #14
                            Zitat von Lothar Beitrag anzeigen
                            RewriteRule \.(gif|jpg|png)$ <a href="http://www.somesite.com/nasty.gif" target="_blank">http://www.somesite.com/nasty.gif</a> [R,L]<br />
                            <br />
                            Wie hier angegeben das nasty.gif ist ja jedesmal anders.<br />
                            diese regel bedeutet dass alle anfragen nach einem bild mit den endungen gif, jpg, png zu dem bestimmten bild mit dem namen nasty.jpg weitergeleitet werden. zB sieht man sowas öfters mal wenn zB zu einem bild auf fremdem webspace verlinkt wurde. dann steht im nasty.jpg sowas wie "es ist nicht erlaubt dieses bild anzuzeigen".

                            RewriteRule ^(.*)_([0-9]+)\.jpg$ $2.html [L]
                            RewriteRule ^(.*)_([0-9]+)\.gif$ $2.html [L]
                            RewriteRule ^(.*)_([0-9]+)\.png$ $2.html [L]

                            sollte das sein was du suchst, wobei du das was in der 2.klammer steht, also ([0-9]+), evtl. noch an deine namensgebung anpassen musst

                            Kommentar


                            • #15
                              RewriteRule

                              Hallo,

                              danke für Die Antwort. Ich müsste aus:
                              ./vorlage.php?Bild=grafik.jpg
                              folgendes herausbekommen:
                              ./grafik.html
                              Dabei kann die Grafik jeden möglichen Namen haben.

                              Kannst du mir hier helfen? Ich habe leider keinen Plan.

                              Viele Grüße von Lothar
                              Lothar Seifert
                              [URL]http://www.l-seifert.de[/URL]

                              Kommentar

                              Lädt...
                              X