Durch PHP generiertes Bild zB als Forensignatur nutzen

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

  • Durch PHP generiertes Bild zB als Forensignatur nutzen

    Moin!

    Ich fang direkt mal an. Fuer meinen Clan hab ich ein kleines Banner gemacht, worauf die URl, ein paar Infos und die Stats zu den Servern zu finden sind. Das ganze sollen die Members dann in Foren etc. als Signatur nutzen, damit die Server wieder ein bisschen voller werden!

    So, jetzt heisst die Datei "banner.php", in welcher der Bannerhintergrund eingelesen wird, darauf die Serverstats geschrieben werden und das alles dann wieder als .JPG ausgegeben wird.
    Wenn ich das jedoch als Bild in Foren mit dem BBCode einbinden will, wird das nicht geparsed. Wenn ich jedoch zum Test irgendeine Bilddatei nehme, funktioniert das!
    Der Content-Type im Header wurde in der "banner.php" auf "image/jpg" gestellt, daran kann es ja also nicht liegen! Ich denke, die Foren zeigen die Bilder wahrscheinlich nur an, wenn sie die entsprechenden Dateien auch sofort als solche erkennen!

    Ich hab mir jetzt vorgestellt, dass man das ja vielleicht irgendwie mit .htaccess machen koennte. Sprich, dass ich entweder die "beispiel.jpg" aufrufe, und das dann auf die "banner.php" weitergeleitet wird!
    Ich hab da auch schon ein wenig gegoogelt, und eine .htaccess Datei erstellt, mit folgendem Inhalt:


    Redirect /. http://homegrown-clan.de/hgbanner/banner.php


    Nur funzt das halt leider nicht!

    Ich weiß jetzt auch nicht, wonach genau ich fragen soll, ich bin htaccess-noob! ^^

    MfG

  • #2
    wenn ich den url aus deinem post nehme erhalte ich eine 404er seite. wahrscheinlich wird deswegen auch kein bild gezeigt?


    ansonsten sollte dies in der .htaccess abhilfe schaffen.

    Code:
    RewriteRule ^dernamedesbildes.jpg$ /banner.php
    vergiss auch nicht diese zeilen an den anfang der .htaccess zu setzen.
    Code:
    RewriteEngine on
    RewriteBase /
    den path zu deiner banner.php musst du ggfs anpassen, wenn sie nicht im root liegt.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Hm, ok, danke schonmal.

      Muss die .htaccess Datei denn im Root liegen, oder kann sie auch im Verzeichnis "/homepage/hgbanner/" liegen?

      MfG

      Kommentar


      • #4
        Muss die .htaccess Datei denn im Root liegen, oder kann sie auch im Verzeichnis "/homepage/hgbanner/" liegen?
        Sie kann in einem Unterverzeichnis liegen, wenn auch der Link direkt auf das Unterverzeichnis zeigt
        Code:
        //.htaccess in Unterverz. homepage/hgbanner
        <img src="deine_domain.de/homepage/hgbanner/irgendwas.jpg" />
        //das funzt nicht
        <img src="deine_domain.de/homepage/irgendwas.jpg" />
        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Ok danke fuer deine Antwort, das soll sich ja auch alles nur in dem einen Ordner abspielen!

          Jetzt hab ich die .htaccess Datei mit folgendem Inhalt gemacht:

          Code:
          RewriteEngine on
          RewriteBase /
          RewriteRule ^homegrownbanner.jpg$ /banner.php
          Die .htaccess liegt in "/homepage/hgbanner/", ebenso wie die "homegrownbanner.jpg" (welche auch tatsaechlich existiert, ist der "Rohling" fuer den Banner!) und auch die "banner.php".

          Nun kommt aber der Error 500:

          "Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist. Der Server ist entweder überlastet oder ein Fehler in einem CGI-Skript ist aufgetreten."

          MfG

          Kommentar


          • #6
            schreib mal noch
            Code:
            Options +FollowSymLinks
            in die .htaccess am anfang rein.

            wenn das nicht geht, mal bitte die zeile
            Code:
            RewriteEngine on
            auskommentieren.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Code:
              RewriteEngine on
              RewriteBase /
              RewriteRule ^homegrownbanner.jpg$ banner.php
              Mal ohne den / vor banner.php da dies ja kein Unterverzeichnis mehr ist, sondern eine Datei, die im selben Verzeichnis liegt wie die htaccess.

              Gruss

              tobi
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                Hi, also ich hab die Datei jetzt so:

                Code:
                Options +FollowSymLinks
                RewriteEngine on
                RewriteBase /
                RewriteRule ^homegrownbanner.jpg$ banner.php
                Auch ohne die zweite Zeile probiert, aber es klappt leider nichts davon!
                Ich weiß auch nicht, vll liegts gar nich an der Datei selber! ^^
                Wenn sie leer ist, gibts aber auf jeden Fall keinen Error 500 mehr, nur den gewuenschten Effekt hat das Ganze dann natuerlich auch nicht! :/

                Hat vll noch jemand ne Idee?

                MfG

                Kommentar


                • #9
                  unterstützt dein hoster überhaupt mod_rewrite?

                  erstelle eine datei und rufe dort phpinfo() auf. dann suche in der ausgabe nach mod_rewrite.

                  ergebnis deiner suche?
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    Hi!

                    Der Apache liegt auf einem Rootserver, also da an der Config zu aendern waere so gesehen nicht das Problem!

                    Und in der phpinfo hab ich nichts mit mod_rewrite gefunden (auch mit der Browsersuche nicht!)!

                    Was genau muss ich da jetzt einstellen?

                    MfG

                    Kommentar


                    • #11
                      schaue doch mal bitte ob diese zeile ...
                      Code:
                      LoadModule rewrite_module modules/mod_rewrite.so
                      ... in deiner httpd.conf enthalten ist.

                      wenn vorhanden und auskommentiert, bitte einkommentieren.
                      wenn nicht vorhanden, bitte eintragen. dort wo ein block mit vielen LoadModule punkten ist. (hoffentlich ist das modul überhaupt vorhanden)

                      anschliessend den apache neu starten.
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        So, thx erstmal. Die Zeile war auskommentiert, jetzt nicht mehr! In der PHPINFO wird mod_rewrite nun unter loaded modules angezeigt, was naeheres steht aber nirgends!

                        Jetzt kommt zwar kein Error 500 mehr - nur funktioniert die .htaccess Datei immer noch nicht!

                        Kommentar


                        • #13
                          "funktioniert nicht" ist keine Fehlerbeschreibung!

                          Kommentar


                          • #14
                            Richtig - es wird aber auch kein Fehler ausgegeben!

                            Nichts passiert, wenn ich die in der .htaccess angegebenen Datei (von der weitergeleitet werden soll) aufrufe, wird diese angezeigt, wenn ich eine andere nicht existierende angebe, kommt halt der Error 404, und wenn ich nur den Ordner angeben, wird da wie immer der Inhalt aufgelistet!

                            Sieht beinahe so aus, als ob der die .htaccess einfach ignoriert, aber dieses Modul da laeuft ja nun!

                            MfG

                            Kommentar


                            • #15
                              Errorlog schauen, Accesslog schauen, Header schauen (http://web-sniffer.net/ hilft),
                              htaccess posten, Links posten.

                              Kommentar

                              Lädt...
                              X