PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   Bild erstellen!? (http://www.selfphp.de/forum/showthread.php?t=10625)

Malle666 28.05.2005 16:37:41

Bild erstellen!?
 
PHP-Code:

<?
$image = imagecreatefromjpeg("upload/kekslogo.jpg");
$white = ImageColorAllocate ($image, $r,$g,$b);
ImageTTFText ($image, $groese, 0, $weite, $hoehe, $white, "upload/BLASPHEM.TTF",$name);
imagejpeg($image,"",100);
?>

Mit dem Code da oben lass ich ein Bild erstellen, was auch einwandfrei funct, dass prob ist nun ich will das man das Bild auch speichern kann!?
Wenn ich jetzt auf das angezeigte Bild klicke und dann "speichern unter" dann speichert der die "PHP"..
Kann man das machen das man das generierte Bild speichern kann?

meikel (†) 28.05.2005 18:18:34

AW: Bild erstellen!?
 
RTFM!
http://de3.php.net/imagejpeg

Malle666 28.05.2005 18:45:08

AW: Bild erstellen!?
 
PHP-Code:

header ("Content-type: image/jpeg");
$image imagecreatefromjpeg("upload/kekslogo.jpg");
$white ImageColorAllocate ($image$r,$g,$b);
ImageTTFText ($image$groese0$weite$hoehe$white"upload/BLASPHEM.TTF",$name);
imagejpeg($image,"",100); 

Er speichert immernoch die PHP -.-
Bei Dateityp steht zwar "jpeg" aber oben steht dann "logo.php"
oder wie halt die PHP auch heisst -.-

xabbuh 28.05.2005 20:21:00

AW: Bild erstellen!?
 
Zitat:

Die Angabe des Dateinamens filename ist optional. Fehlt er, werden die erzeugten Bilddaten direkt ausgegeben. Um die Angabe des Dateinamen zu umgehen, dennoch aber den Parameter als solchen zu nutzen, können Sie einen Leerstring ('') benutzen. Durch Verwendung der Funktion header() mit der "content-type"-Angabe "image/jpeg" können Sie PHP-Skripte erstellen, welche die JPEG-Ausgabe direkt vornehmen.
-> http://de3.php.net/manual/de/function.imagejpeg.php

Malle666 29.05.2005 15:01:57

AW: Bild erstellen!?
 
Das habisch ja durchgelesen und "content-type"-Angabe "image/jpeg" hinzugefügt in meinen quellcode, was mach ich jetzt noch falsch?

xabbuh 29.05.2005 15:04:59

AW: Bild erstellen!?
 
Zitat:

Zitat von Malle666
Das habisch ja durchgelesen und "content-type"-Angabe "image/jpeg" hinzugefügt in meinen quellcode, was mach ich jetzt noch falsch?

Vielleicht mal einen Dateinamen angeben, unter dem das Bild gespeichert werden soll?

Malle666 29.05.2005 15:15:18

AW: Bild erstellen!?
 
Okay, habisch jetzt hinbekommen, jetzt wird das mit dem namen auf dem webspace gespeichert.
Wie kann ich jetzt machen das der dass dan im browser noch ausgibt und man das manual aufen PC speichern kann?

Okee hab jetzt nen neues PROB:
Habs nun so gemacht
PHP-Code:

header("Content-type: image/jpeg");
$image = imagecreatefromjpeg("upload/kekslogo.jpg");
$white = ImageColorAllocate ($image, $r,$g,$b);
ImageTTFText ($image, $groese, 0, $weite, $hoehe, $white, "upload/BLASPHEM.TTF",$name);
$file = "logos/".$name.".jpg";
if (file_exists($file)){
        unlink($file);}
imagejpeg($image,"logos/".$name.".jpg",100);
$bild = "logos/".$name.".jpg";
}
?>


<form action=logocreator.php enctype="multipart/form-data" method="post">
<table width="400" border="0" align=center>
<tr>
<td>Bild: </td>
<td>
<img src="<? echo $bild; ?>">

Nur wenn er das alte BILD löscht und durch das neue ersetzt dann zeigt er bei jedem durchgang immer das gleiche BILD an, auch wenn ich das vorherige ersetzen lasse !?
Wie mach ich das der das BILD aktualisiert!?

Serp 29.05.2005 15:32:37

AW: Bild erstellen!?
 
Also erstmal, die Angabe eines Dateinamens zu empfehlen is hier absoluter Schwachsinn, das speichert das Bild nämlich auf dem Server und nicht auf dem Client...

Das Problem liegt nicht an deinem Script (auch wenn auch da noch n Fehler zu sein scheint, ich krieg nämlich kein Bild angezeigt...) sondern am Browser. Zumindest der Firefox nimmt beim Speichern als Dateinamen erst mal den kompletten Dateinamen des Bildes, samt Endung. Allerdings wird beim Speichern dann noch die "richtige" Endung angehängt, sprich das Bild hieße dann zum Beispiel bild.php.jpg
Ist zwar nicht schön, aber so einfach wohl nicht zu ändern...

Eine Möglichkeit wäre, unter das Vorschaubild einfach n "speichern" - Link zu klatschen, der auf ein Script verweist, das diesem Bild dann nen entsprechenden Header zuweist, dass das Bild gespeichert werden muss. Sieht dann so aus:

header("Content-Disposition: attachment; filename=downloaded.pdf");

Vorteil ist, dass hier du den Dateinamen bestimmst. Nachteil, man muss noch extra auf den Link klicken...


Ne andere Möglichkeit wäre eventuell, das Script in nen extra Ordner zu verschieben, ihm die Dateiendung .jpg zu verpassen und dann per .htaccess festzulegen, dass in diesem Ordner .jpg-Dateien durch den PHP-Parser geschickt werden. Allerdings ist das mMn ne verdammt hässliche Methode...

Malle666 29.05.2005 15:46:09

AW: Bild erstellen!?
 
Hab mein Beitrag oben nochmal editiert!?
Kann mir da nochmal bidde wer helfen :/

xabbuh 29.05.2005 16:10:27

AW: Bild erstellen!?
 
Zitat:

Zitat von Serp
Also erstmal, die Angabe eines Dateinamens zu empfehlen is hier absoluter Schwachsinn, das speichert das Bild nämlich auf dem Server und nicht auf dem Client...

Da hätte ich wohl genauer lesen sollen. Hatte gedacht, dass es um das Speichern auf dem Server geht.


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:27:03 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.