Bild mit Logo speichern unter

tonzy

Grünschnabel
Hi!

ich habe 2 skripte (speichern unter skript und ein copyright-skript) die einzeln bestens funktionieren, leider schaff ich es nicht, das Bild zu speichern, wo das Copyright-Logo mit drauf ist. Vielleicht könnt ihr mir helfen.

Copyright-Skript wird übergeben mit im <img src='copyright.php?bild=xyz.jpg'>

PHP:
<?php
  $Wasserzeichen = ImageCreateFromGIF("background/copyright.gif");

  $size=getimagesize($bild);
  $breite=$size[0];
  $hoehe=$size[1];

  if($size[2]==2) {
  
  $Bild=ImageCreateFromJPEG($bild);
  ImageCopy($Bild, $Wasserzeichen, imagesx($Bild)-imagesx($Wasserzeichen), imagesy($Bild)-imagesy($Wasserzeichen), 0, 0, imagesx($Wasserzeichen), imagesy($Wasserzeichen));
  ImageJPEG($Bild);
  ImageDestroy($Bild);
  }
?>

Download-Skript ($id ist images/xyz.jpg, ohne wasserzeichen)

PHP:
<?php
function download($file) { 
    $size = filesize($file); 
    header("Content-type: application/octet-stream"); 
    header("Content-disposition: attachment; filename=".$file); 
    header("Content-Length: ".$size); 
    header("Pragma: no-cache"); 
    header("Expires: 0"); 
    readfile($file); 
} 
  
download($id);
?>

Wie gesagt er speichert das bild bestens nur ohne wasserzeichen, und wenn ich als $id = copyright.php.... mache bekomme ich Header -Errors... Habt ihr zufällig eine Idee, wie ich das umsetzen kann?
Danke
 
das hab ich versucht mit $id = "copyright.php?bild=xyz.jpg" funktioniert leider nicht, bekomm ich Header Errors
 
Ich habs dir mal aus eigennutz überarbeitet:
PHP:
 $Wasserzeichen = ImageCreateFromPNG("http://pfad.de/wasserzeiten.png");
 $bild          = "http://pfad.de/bild.jpg";
 
 $size   = getimagesize($bild);
 $breite = $size[0];
 $hoehe  = $size[1];
 
 if($size[2] == 2) { 
  $Bild = ImageCreateFromJPEG($bild);
  $imgX = imagesx($Bild) - imagesx($Wasserzeichen);
  $imgY = imagesy($Bild) - imagesy($Wasserzeichen);
  
  ImageCopy($Bild, $Wasserzeichen, $imgX, $imgY, 0, 0, imagesx($Wasserzeichen), imagesy($Wasserzeichen));
  ImageJPEG($Bild);
  
  header("Content-type: application/octet-stream"); 
  header("Content-disposition: attachment; filename=".$Bild); 
  header("Content-Length: ".filesize($Bild)); 
  header("Pragma: no-cache"); 
  header("Expires: 0"); 
  readfile($Bild); 
  
  ImageDestroy($Bild);
 }



Gruß
 
Zurück