Ergebnis 1 bis 7 von 7
  1. #1
    Fortgeschrittener
    Registriert seit
    26.10.2008
    Beiträge
    31

    Standard bild.php in css einfügen?

    Moin FH'er,

    ich habe eine bild.php über die meine Bilder angezeigt werden.
    Also z.B "bild.php?name=1234.jpg".

    Das Problem ist ich möchte das ganze auch in css verwendet können.
    Beispiel:
    Code:
    body {
         background-image:url(bild.php?name=1234.jpg);
    }
    Gibt es da ne Möglichkeit?

  2. #2
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Ich denke mal, dass Dein Code (bild.php) etwa so aussieht:

    Code:
    <?php
    
    $bild = $_GET['name'];
    $pfad = "/images/";
    
    print "<img src=\"".$pfad.$bild."\">";
    
    ?>
    Mit mehr Sicherheit wahrscheinlich .
    CSS kann, wenn ich nicht irre keine GET-Parameter übergeben. Zudem wird die PHP-Datei ja nicht zur Grafik, sondern ruft sie nur auf.
    Was ich mir vorstellen könnte, was geht wäre:
    Die in diesem Thread besprochene Methode *klick*. Ich bezweifele es jedoch.

    Kommt denn ein Error, wenn Du es so versuchst?

    Und was spricht eigentlich dagegen, dass Du den direkten Pfad zum Bild angibst? Dass jemand den Pfad kennt? Durch die richtigen Vorsichtsmaßnahmen kannst Du doch auch verhindern, dass jemand die Liste aller Bilder in dem Verzeichnis sehen kann (index.html z.B.).
    Come to the dark side - We have cookies

  3. #3
    Fortgeschrittener
    Registriert seit
    26.10.2008
    Beiträge
    31

    Standard

    Naja das Problem ist einfach das mein image ordner nur verschlüsselte Bilddateien enthält. Mit hilfe der bild.php wird der code erst entschlüselt und dann mit base64_encode(); und den richtigen image header ausgeben. Deshalb kann ich diese methode nicht benutzen.


    Zitat Zitat von Power-Sven Beitrag anzeigen
    Kommt denn ein Error, wenn Du es so versuchst?
    Naja er zeigt halt nichts an wenn ich diese Methode verwende. Gibt es den eine möglichkeit den css code mit php zu schreiben und ihn dann zu verwenden?
    Das wichtigste ist halt das die bilder nicht temporär gespeichert werden dürfen.


    Zitat Zitat von Power-Sven Beitrag anzeigen
    Was ich mir vorstellen könnte, was geht wäre:
    Die in diesem Thread besprochene Methode *klick*. Ich bezweifele es jedoch.
    Und der thread ist übrigens von mir^^
    Geändert von Arnon77 (13.06.2009 um 17:24 Uhr)

  4. #4
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Upps... Hatte nicht darauf geachtet, von wem der Thread war, tut mir leid .
    CSS geht in PHP, klar. Gibt ja auch folgendes:

    Code:
    <style type="text/css">
    ...
    </style>
    Was in PHP dann in etwa sowas ergäbe:

    Code:
    <?php
    
    print "
    	<style type=\"text/css\">
    
    		body {
    
    			background-image:url('');
    
    		}
    
    	</style>
    ";
    
    ?>
    Aber ich teste mal eben, ob es bei mir geht, und editiere dann...

    EDIT: Die erste Methode konnte ich gerade nicht testen, wegen Zeitmangels. Die Methode von mir geht problemlos, wenn ich "img.php?img=bildname" angebe. Somit müsste es aber auch in einer CSS-Datei gehen. Bist Du Dir sicher, dass das Bild korrekt decodiert wird? Hast Du es mal geprüft?
    Denn bei mir geht es, wie gesagt.
    Ansonsten poste mal die Strukturen oder übermittle sie mir per PN.
    Heißt: bild.php und, wie die Bilddateien aufgebaut sind.
    Geändert von VeN0m (13.06.2009 um 17:40 Uhr)
    Come to the dark side - We have cookies

  5. #5
    Fortgeschrittener
    Registriert seit
    26.10.2008
    Beiträge
    31

    Standard

    Upps ich hatte bei meiner css datei, die in einen ordner drüber ist, vergessen die ../ zu machen, da meine bild.php eigentlich nicht im ordner war.

    Dachte es geht nicht sorry^^

    Aber trozdem vielen dank für die mühe, jetzt geht es einwandfrei^^

  6. #6
    Gesperrt
    Registriert seit
    04.06.2009
    Beiträge
    78

    Standard

    Mal ne frage: Seit wan gibt es ne .php datei die ein Bild ist ?

  7. #7
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Zitat Zitat von Blue-Fox Beitrag anzeigen
    Mal ne frage: Seit wan gibt es ne .php datei die ein Bild ist ?
    Garnicht. Das hast Du falsch verstanden .
    Das Bild wurde base64 encodet, damit es keine Sonderzeichen etc. enthält und in den Quellcode geschrieben werden kann. Durch base64_decode wird dann wieder der Bild-Source ausgegeben. Gibt man nun folgendes an:

    Code:
    header("content-type: image/gif");
    So wird der Browser dazu gezwungen, die Ausgabe der PHP-Datei als GIF-Bild zu behandeln. Ist die Ausgabe nun der Bild-Source, der decodiert wurde und ist das Ursprungsbild auch tatsächlich vom Typ gif, so wird das Bild tatsächlich angezeigt .
    Gif ist natürlich nur ein Beispiel, geht auch mit jpg, png etc. Wichtig ist nur, dass die Ausgabe auch mit dem angegebenen Typ übereinstimmt. Es gibt ja auch Funktionen, wie image_create, die ein Bild erstellen (innerhalb der PHP-Datei).

    Siehe dafür z.B. das hier:

    Code:
    <?PHP
    header('Content-type: image/jpeg');
    $image = imagecreate ( 300, 150 );
    $farbe_body = imagecolorallocate ( $image, 243, 243, 243 );
    $farbe_b = imagecolorallocate ( $image, 10, 36, 106 );
    imagestring ( $image, 5,30, 70, 'Free-Hack.com', $farbe_b );
    imagejpeg ( $image ); 
    ?>
    Das ist ein Beispielcode von php.net und nicht von mir . Hab' nur den Text geändert.
    Siehe auch PHP.net - Imagefunktionen *klick*

    Natürlich kann auch doc, pdf und ähnliches als Content-Type angegeben werden. Und so wird der Browser die Ausgabe auch behandeln.

    Bedenke: Die Ausgabe ist nicht gleich dem Script!
    Geändert von VeN0m (13.06.2009 um 20:56 Uhr)
    Come to the dark side - We have cookies

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •