mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 13:27 Benutzername: Passwort: Auto-Login

Thema: [PHP]per PHP generiertes Image direkt weiter per Mail senden vom 05.10.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP]per PHP generiertes Image direkt weiter per Mail senden
Autor Nachricht
Pukey
Threadersteller

Dabei seit: 07.09.2006
Ort: Mannheim/Heidelberg
Alter: 37
Geschlecht: Männlich
Verfasst Di 05.10.2010 16:51
Titel

[PHP]per PHP generiertes Image direkt weiter per Mail senden

Antworten mit Zitat Zum Seitenanfang

Hallo Leute,

ich habe ein Bild per PHP generiert
Code:

[....]
$im = imagecreatetruecolor($width, $height);
[....]
header('Content-Type: image/png');
imagepng($im);


Und möchte, dass dieses Bild direkt an eine E-Mail weitergeleitet wird.

Folgende Methode würde nich in Fragen kommen, weil das Bild nicht so einfach reproduzierbar ist. Das Bild wird nämlich in Flash erstellt (nur so als Hintergrund Info).
Code:
$mail->AddEmbeddedImage($serverpath.'/includes/barcodes/barcode_gen.php?code='.$userid, 'barcode', $userid);



Gibt es denn andere Möglichkeit?



Vielen dank *zwinker*
  View user's profile Private Nachricht senden
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Di 05.10.2010 16:55
Titel

Antworten mit Zitat Zum Seitenanfang

du nutzt also phpmailer, kenne ich zwar nicht aber gut.


ich zeig dir das jetzt mal anhand von swiftmailer.
Code:

//Create your file contents in the normal way, but don't write them to disk
$data = create_my_pdf_data();

//Create the attachment with your data
$attachment = Swift_Attachment::newInstance($data, 'my-file.pdf', 'application/pdf'); 

//Attach it to the message
$message->attach($attachment);


$data ist in diesem fall keine datei die auf dem server liegt, sondern einfach die daten die zb ein bild sind (oder in dem fall eine pdf).

du kannst also einfach das dynamisch generierte bild von flash an die php datei übergeben und anhängen.


sicherlich gibts so eine ähnliche methode auch in phpmailer, wenn nicht, UMSTEIGEN Grins
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Pukey
Threadersteller

Dabei seit: 07.09.2006
Ort: Mannheim/Heidelberg
Alter: 37
Geschlecht: Männlich
Verfasst Mi 06.10.2010 15:39
Titel

Antworten mit Zitat Zum Seitenanfang

bin jetzt mal umgstiegen Grins


Aktueller Stand:

Mail wird gesendet, auch mit Anhang, aber das beigehängte Bild ist fehlerhaft...

Hier der Code:
Code:

require_once 'lib/swift_required.php';

//Create the Transport
$transport = Swift_MailTransport::newInstance();

//Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);


$data = "http://www.xxxxx.yyy/image.php?width=100&height=200";
//Create the attachment with your data
$attachment = Swift_Attachment::newInstance($data, 'screen.png', 'image/png');


//Create a message
$message = Swift_Message::newInstance('Wonderful Subject')
  ->setFrom(array('zzzzz@xxxxx.yy' => 'John Doe'))
  ->setTo(array('zzzzzz@xxxxxx.yy' => 'A name'))
  ->setBody('Here is the message itself')
  ->attach($attachment)
  ;
 
//Send the message
$numSent = $mailer->send($message);

printf("Sent %d messages\n", $numSent);
  View user's profile Private Nachricht senden
Pukey
Threadersteller

Dabei seit: 07.09.2006
Ort: Mannheim/Heidelberg
Alter: 37
Geschlecht: Männlich
Verfasst Do 14.10.2010 11:35
Titel

Antworten mit Zitat Zum Seitenanfang

Hab es nicht hinbekommen.... aber ich konnte es anders lösen.

Ich lass einfach das Bild auf dem Server speichern und trage alle anderen Infos in einer Datenbank.


Code:

$width = $_REQUEST['width'];
$height = $_REQUEST['height'];
$i = 0;

$im = imagecreatetruecolor($width, $height);


$get_pixels = explode(",", $_REQUEST['img']);


$pixel = array();

for($j = 0;$j < count($get_pixels);$j ++)
{
$pixel[$j] = str_pad(base_convert($get_pixels[$j], 10, 16), 6, "0", STR_PAD_LEFT);
}



for ($y = 0; $y < $height; $y++) {
   for ($x = 0; $x < $width; $x++) {
      if($pixel[$i]=="000000") {
      $pixel[$i] = "ffffff";
      }
    
     $color = imagecolorallocate($im, hexdec(substr($pixel[$i], 0, 2)), hexdec(substr($pixel[$i], 2, 2)), hexdec(substr($pixel[$i], 4, 2)));
    
     imagesetpixel($im, $x,$y, $color);
    
     $i++;
   }
}


$uid = uniqid();
      

header('Content-Type: image/png');
if(imagepng($im, "./screen_".$uid.".png")) {

header("Location: ./thanks.php?file=screen_".$uid.".png");

}
  View user's profile Private Nachricht senden
 
Ähnliche Themen E-Mail senden mit Flash-Kontaktformular
Formulare per E-Mail ohne Scriptsprache senden
PDF Formular - beim Senden per Mail - PDF statt XML
[PHP] Formular Prüfen und Mail senden [Solved - abderer Weg]
Probleme beim senden einer E-Mail aus Flash
Dateien über das Formular am E-Mail Adresse senden
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.