Anzeige

PHP Bild erzeugen und als jpg einbinden

PHP Bild erzeugen und als jpg einbinden | PSD-Tutorials.de

Erstellt von pain2000, 27.01.2009.

  1. pain2000

    pain2000 Nicht mehr ganz neu hier

    Dabei seit:
    13.01.2009
    Beiträge:
    121
    Geschlecht:
    männlich
    Ort:
    München
    PHP Bild erzeugen und als jpg einbinden
    Hallo Leute,
    mal eine Frage zu PHP und der Imagefunktion.
    Ich lasse in einem php-Script ein Bild erzeugen. Soweit kein Problem. Auf der Seite, wo das Bild angezeigt werden soll wird es nat. mit dem img-Tag eingebunden
    Code (Text):
    1. <img src="bild.php">
    Ist es nun aber möglich das Bild nicht als 'bild.php' sondern als 'bild.jpg' zu laden? Durch einfaches umbenennen der php-Datei geht es leider nicht.
    Ich frage nur deshalb, weil ich z.B. ein Signaturbild von Danasoft.com hab (dieses hier), das wird ja direkt als jpg aufgerufen aber trotzdem generiert. Oder haben die das nicht mit PHP gemacht?
     
    #1      
  2. netbandit

    netbandit Aktives Mitglied

    12
    Dabei seit:
    18.05.2008
    Beiträge:
    1.145
    Geschlecht:
    männlich
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Per htaccess und modrewrite wäre das möglich:

    htaccess:

    Dann kannst Du auch jpg als Dateiendung angeben, wird dann auf die PHP-Datei umgeleitet
     
    #2      
  3. pain2000

    pain2000 Nicht mehr ganz neu hier

    Dabei seit:
    13.01.2009
    Beiträge:
    121
    Geschlecht:
    männlich
    Ort:
    München
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Hi netbandit,
    danke für den Tip, hab mich diesbezüglich mal eingelesen... theoretisch ist das klar, aber praktisch macht es mein Server nicht mit...:schmoll:
    Naja, ist letztendlich auch nicht sooo schlimm...
     
    #3      
  4. Chickenshooter

    Chickenshooter Alter Mann

    Dabei seit:
    08.02.2007
    Beiträge:
    431
    Geschlecht:
    männlich
    Ort:
    127.0.0.1
    Software:
    IBM-kompatiblen PC, Mal- und Schreibprogramme
    Kameratyp:
    ...eine zum Durchgucken
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    folgendes geht aber auch wenns denn sein soll:
    PHP:
    1.  
    2. /*
    3. * File: bild.php
    4. */
    5. function createPicture( $userid )
    6. {
    7.   // mit der userid in der DB (Tabelle der User) nach dem User suchen...
    8.    $username = "UserName";
    9.    $text = "Den Text den Du haben willst";
    10.    $path="deinBilderPfad/";
    11.  
    12.   $im = @imagecreatetruecolor(320, 40)
    13.       or die('Cannot Initialize new GD image stream');
    14.   $text_color = imagecolorallocate($im, 233, 14, 91);
    15.   imagestring($im, 1, 5, 5,  $text, $text_color);
    16.   imagepng($im,$path.$username.".png");
    17. }
    18.  
    so jetzt Deine php Datei in der Du die Grafik brauchst

    PHP:
    1.  
    2. /*
    3. * File: User.php
    4. * Param: id
    5. */
    6. <?php
    7. include("bild.php");
    8. createPicture( $_GET['id'] );
    9. ?>
    10. <img src="<?php echo $path.$username.".png"; ?>" alt="<?php echo $username; ?>" />
    11.  
    12.  
    sollte laufen ist aber von mir ungetestet.

    MfG Chick
     
    #4      
  5. pain2000

    pain2000 Nicht mehr ganz neu hier

    Dabei seit:
    13.01.2009
    Beiträge:
    121
    Geschlecht:
    männlich
    Ort:
    München
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Hi 'Chickenshooter',
    so würde das auch gehen. Klar. Dann wird ja aus der bild.php z.B. ein png auf dem Server erzeugt und das kann ich dann als normales Bild einbinden.
    Vielen Dank für den Tip, hätte ich auch drauf kommen können...:D
    Aber der Tip von 'netbandit' mit htaccess und modrewrite ist nicht schlecht und auch für andere Dinge gut nutzbar.
    Trotzdem merci...
     
    #5      
  6. stroyer

    stroyer Aktives Mitglied

    Dabei seit:
    03.01.2009
    Beiträge:
    567
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Wozu muss das Bild die Dateiendung jpg haben? Genügt es dir nicht wenn du einfach header("Content-type: image/jpeg"); einfügst?
     
    #6      
  7. CIX88

    CIX88 Aktives Mitglied

    Dabei seit:
    06.04.2006
    Beiträge:
    814
    Geschlecht:
    männlich
    Ort:
    GR
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    > Wozu muss das Bild die Dateiendung jpg haben?

    Eigentlich braucht man keine Endung, wenn der Header korrekt gesendet wird.
    Also Dateityp, Dateilänge und vielleicht Dateiname. Man benutzt aber gern die Endung, wenn es Browser gibt die eventuell den Haeder nicht richtig auswerten.
     
    #7      
  8. stroyer

    stroyer Aktives Mitglied

    Dabei seit:
    03.01.2009
    Beiträge:
    567
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Header (content type) haben bei mir eigentlih noch nie versagt.
    Höchstens in Zusammenhang mit downloads, aber da kommt notfalls der dateiname vom header zum Zug. Und der lässt sich ja beliebig einstellen.
     
    #8      
  9. Top_Gun

    Top_Gun Aktives Mitglied

    Dabei seit:
    24.07.2008
    Beiträge:
    965
    Geschlecht:
    männlich
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Es ging ihm darum das Bild, als für jeden ersichtlich (durch die .jpg-Endung) irgendwo einbinden zu können. Wie das oben genannte Beispiel.
    Und nicht darum ob das alleine mit dem Header funktioniert oder nicht...

    Ich fände es auch deutlich schöner, wenn das Bild ne entsprechende Endung hätte...
     
    #9      
  10. stroyer

    stroyer Aktives Mitglied

    Dabei seit:
    03.01.2009
    Beiträge:
    567
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Da hätte ich vielleicht eine dumme Idee (ich weiß nicht, ob sie so funktioniert).
    Bsp.: <img src="read.php?id=10.jpg">. Bitte korrigiert mich, falls dies nicht mödlich ist.
    Andersherum (z.B. read10.jpg) wird es wie schon netbandit gesagt hat so weit ich weiß nur mit htaccess gehen.

    So hätte ich das dann gelöst:
    Code (Text):
    1.  
    2. RewriteEngine On
    3. RewriteCond %{QUERY_STRING} !read.php
    4. RewriteRule ^(img.+)$ read.php?file=$1
    5.  
    Leitet alles, das mit img beginnt auf read.php?file=... um (Bsp.: imgTestBild01.jpg=>read.php?file=TestBild01.jpg)

    Sollte dann eigentlich laufen.
     
    #10      
  11. pain2000

    pain2000 Nicht mehr ganz neu hier

    Dabei seit:
    13.01.2009
    Beiträge:
    121
    Geschlecht:
    männlich
    Ort:
    München
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Ja genau.
    Das Bild wird in eine Seite per img-Tag eingebunden.
    Code (Text):
    1. <img src="bild.php">
    In dieser php-Datei wird dann nat. der Header gesendet...
    Es ging mir jedoch darum, den Aufruf im img-Tag nicht mit 'bild.php' sondern mit 'bild.jpg' zu realisieren.
     
    #11      
  12. pain2000

    pain2000 Nicht mehr ganz neu hier

    Dabei seit:
    13.01.2009
    Beiträge:
    121
    Geschlecht:
    männlich
    Ort:
    München
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Ja so ähnlich hab ich es jetzt auch gemacht.
    Vielen Dank für eure Bemühungen.
    Damit ist das Problem eigentlich gelöst.
     
    #12      
  13. CIX88

    CIX88 Aktives Mitglied

    Dabei seit:
    06.04.2006
    Beiträge:
    814
    Geschlecht:
    männlich
    Ort:
    GR
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    > Leitet alles, das mit img beginnt auf read.php?file=... um

    In der Hoffnung, dass auf der Website keine Grafiken vom Layout vorhanden sind.
    Ich würde das jedenfalls nicht so machen.
     
    #13      
  14. stroyer

    stroyer Aktives Mitglied

    Dabei seit:
    03.01.2009
    Beiträge:
    567
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Ich hab es nur als Beispiel gemeint; statt img geht ja alles, was man braucht. außerdem kann man auch mit Unterordnern arbeiten
     
    #14      
  15. Michael_Jim

    Michael_Jim Noch nicht viel geschrieben

    Dabei seit:
    02.02.2009
    Beiträge:
    5
    Geschlecht:
    männlich
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Es ist sinnvoll, Bilder die per gdlib erzeugt werden, zu cachen.
    Da das Erzeugen von gdlib Bilder mehr CPU Power verbraucht, kannst du somit verhindern, dass ein Hacker deinen Server in die Knie zwingt.
     
    #15      
  16. stroyer

    stroyer Aktives Mitglied

    Dabei seit:
    03.01.2009
    Beiträge:
    567
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Kommt aber darauf an 1) ob sich das Bild cachen lässt bzw. es sinnvoll ist und 2) ob überhaupt ein Hacker sich die Seite einmal vornimmt, was eher sehr selten ist. Wahrscheinlich wird das eh kein eigener Server sein, sprich Maximallaufzeit,...
     
    #16      
  17. Michael_Jim

    Michael_Jim Noch nicht viel geschrieben

    Dabei seit:
    02.02.2009
    Beiträge:
    5
    Geschlecht:
    männlich
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Klar hast du schon teilweise recht, aber sowas wie ne Signatur kann man immer cachen. Nur alle 5 Minuten neu errechnen lassen reicht in den meisten Fällen aus.
    Man sollte es auf jedenfall nicht drauf ankommen lassen ;)
    Ich bin in so einem Fall immer lieber etwas vorsichtiger.
     
    #17      
  18. Nortex

    Nortex Guest

    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Hallo,
    wirklich klasse Thema, welches ich zufällig sowieso suchte.
    Ich möchte in einem Forum jedem User die Möglichkeit bieten eine dynamische Signatur zu verwenden. Habe nur noch Schwierigkeiten bei der Automatisierung. Ich habe bisher folgenden Code:
    PHP:
    1. <?php
    2. include("config.inc.php");
    3. $userid = "UserName";
    4. $path = "signatures/";
    5.  
    6. //Userdaten
    7. $user = "SELECT * FROM wcf1_user WHERE userID = $userid";
    8. $adressen_query = mysql_query($user) or die("Anfrage nicht erfolgreich");
    9.  
    10. //Beitragszähler
    11. $postcount = "SELECT * FROM wbb1_1_user WHERE userID = $userid";
    12. $postcount_query = mysql_query($postcount) or die("Anfrage nicht erfolgreich");
    13.  
    14. //Personal Best
    15. $pb = "SELECT * FROM wcf1_user_option_value WHERE userID = $userid";
    16. $pb_query = mysql_query($pb) or die("Anfrage nicht erfolgreich");
    17.  
    18. while ($pbr = mysql_fetch_array($pb_query)){
    19. while ($adr = mysql_fetch_array($adressen_query)){
    20.  
    21. //Userdaten
    22. $username = $adr['username'];
    23. $registered = $adr['registrationDate'];
    24. $registeredsince = date("d.m.y",$registered);
    25. $rankid = $adr['rankID'];
    26. $email = $adr['email'];
    27. $activity = $adr['lastActivityTime'];
    28.  
    29. //Other
    30. $lastactivity = date("d.m.y",$activity);
    31. $personalbest = $pbr['userOption53'];
    32. $realname = $pbr['userOption54'];
    33.  
    34. //Beitragszähler
    35. $posts = $postcount['posts'];
    36.  
    37. }
    38. }
    39.  
    40. //Bilderstellung
    41. $image = ImagecreateTrueColor(440, 130);
    42. $im = ImageCreateFromPNG("signature.png");
    43. imagecopy($image, $im, 0, 0, 0, 0, 440, 130);
    44. //imagealphablending($image, false);
    45.  
    46. $color = ImageColorAllocate($image, 200, 199, 133);
    47. $black = ImageColorAllocate($image, 0, 0, 0);
    48.  
    49. //Ausgaben
    50. imagettftext($image, $size3, 0, 340, 120, $color, $fontfile, $username);
    51. imagettftext($image, $size2, 357, 20, 74, $black, $fontfile, $personalbest);
    52. imagettftext($image, $size, 0, 5, 10, $black, $fontfile, $realname);
    53. imagettftext($image, $size, 0, 150, 10, $black, $fontfile, $email);
    54. imagettftext($image, $size, 0, 250, 10, $black, $fontfile, $lastactivity);
    55.  
    56.  
    57. //Bilderstellung
    58. imagepng($image);
    59. imagepng($image,$path.,$userid.".png");
    60. imagedestroy($image);
    61. ?>
    Wie genau kann ich für jede UserID eine Signatur erzeugen und die ID's auslesen (Zeile 3).

    Vielen Dank
    Sebastian
     
    #18      
  19. stroyer

    stroyer Aktives Mitglied

    Dabei seit:
    03.01.2009
    Beiträge:
    567
    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    die id wirst du wahrscheinlich per get-Variable übernehmen.
    und das Bild kannst du entweder jedes mal beim Aufruf generieren oder, in dem Fall geb ich Michael_Jim recht, einfach jedes Mal bei änderung das neue Bild als Datei abspeichern.
     
    #19      
  20. Nortex

    Nortex Guest

    PHP Bild erzeugen und als jpg einbinden
    AW: PHP Bild erzeugen und als jpg einbinden

    Ok vielen Dank.
    Ich bin aber ein Anfänger in Sachen PHP und weiß nicht genau die GET Funktion einzusetzen. Wie würde mein Code aussehen müssen? Die neue Generierung des Bildes beim Aufruf ist ok, dann heißt der Pfad doch: http://meinedomain.de/signatures/signature1.png oder?
     
    #20      
Seobility SEO Tool
x
×
×