Logo in Bild kopieren

oldputz1990

Erfahrenes Mitglied
Hallo!

Ich möchte jetzt dass das bild hochgeladen wird, und rechts unten, soll ein Logo eingefügt werden.

Was muss ich da am script ändern?

Danke!

PHP:
<?php
include('check.php');
error_reporting(E_ALL);

?>
<span class="text_b">Bild zu Bericht hinzufügen</span><p>


<?php
if(!isset($_POST['upload'])){

$select1 = mysql_query("SELECT
                                     `id`,
                                     `ueb`
                               FROM
                                     `einsatz`
                               ORDER by `id` DESC")
                               OR DIE('<span class="error">Bei der Auswahl der Daten ist ein Fehler aufgetreten!
                       <br>Bitte informieren Sie den Administrator!</span>');

?>

<form action="" enctype="multipart/form-data" method="post">
  <span class="text_b">Bitte gewünschten Bericht wählen!</span><p>
  
  <?php
  echo '<select name="einsatz" class="submit">
';

while($select = mysql_fetch_assoc($select1)){

echo "<option value=\"",$select["id"],"\">",$select["ueb"],"</option>
";


}
echo '</select>';
?><p>
  <div class="text">
  Bitte wähle das Bild aus!
</div>
  <input name="file" type="file" size="50" maxlength="100000" class="submit"><p>
  <input type="submit" name="upload" value="Hochladen" class="submit">
</form>
<?php
}
?>
<?php
if(isset($_POST['upload'])){
$einsatz = $_POST['einsatz'];
?>
<?php
$time = time();
// Variabeln festlegen
$max_byte_size = 5242880;
$allowed_types = "(jpg|jpeg|gif|png)";

// Formular wurde abgeschickt
if($_POST["upload"] == "Hochladen") { 

// Wurde wirklich eine Datei hochgeladen?
if(is_uploaded_file($_FILES["file"]["tmp_name"])) {

// Gültige Endung? ($ = Am Ende des Dateinamens) (/i = Groß- Kleinschreibung nicht berücksichtigen)
if(preg_match("/\." . $allowed_types . "$/i", $_FILES["file"]["name"])) {

// Datei auch nicht zu groß
if($_FILES["file"]["size"] <= $max_byte_size) {

//Ob die Datei Leerzeichen enthält
if(!preg_match('/[^0-9a-zA-Z-_.]/', $_FILES["file"]["name"])){

//Image Header Überprüfen (MIME HEADER)
if(
$_FILES["file"]["type"] == "image/jpeg" OR 
$_FILES["file"]["type"] == "image/pjpeg" OR 
$_FILES["file"]["type"] == "image/gif" OR 
$_FILES["file"]["type"] == "image/bmp" OR 
$_FILES["file"]["type"] == "image/png"
) 
{

$size = $_FILES["file"]["size"];
// Alles OK -> Datei kopieren


include('thumb1.php');
scaleimage(600);



$name = "bilder/big/".$time."_".$_FILES["file"]["name"];
$name_1 = "bilder/small/".$time."_".$_FILES["file"]["name"];

$name2 = $time."_".$_FILES["file"]["name"];
$name3 = $time."_".$_FILES["file"]["name"];

$typ = $_FILES["file"]["type"];

if(copy($_FILES["file"]["tmp_name"], $name)) {
scaleimage(150);
if (move_uploaded_file($_FILES["file"]["tmp_name"], $name_1)) {



echo "<span class=\"text_b\">Bild erfolgreich hochgeladen!</span><br>
<a href=\"".$path."/verwaltung/add_einsatzpic\" class=\"link\">Noch ein Bild hochladen</a>";

### eintragen

$ein = mysql_query("INSERT INTO `bilder` (`name`, `einsatz`, `size`) VALUES ('$name3', '$einsatz', '$size')") OR DIE (mysql_error());

}
}
else {

echo "<span class=\"error\">Datei konnte nicht hochgeladen werden.</span>";

}

} 
else {
    echo "<span class=\"error\">Falscher Dateityp!</span>";
} 

}
else {
    echo '<span class="error">Das Bild darf keine Leerzeichen enthalten!';
}

}
else {

echo "<span class=\"error\">Die Datei darf nur eine Größe von 200 Kilobyte (kb) besitzen.</span>";

}


}
else {

echo "<span class=\"error\">Die Datei besitzt eine ungültige Endung.</span>";

}

}
else {

echo "<span class=\"error\">Keine Datei zum Hochladen angegeben.</span>";

}

}
else {

echo "<span class=\"error\">Bitte benutzen Sie das Upload Formular.</span>";

}

?>








<?php
}
?>


Hier die thumb1.php datei:

PHP:
<?php

error_reporting(E_ALL);

function scaleimage($ThumbnailBreite){


$Grafikdatei = $_FILES["file"]["tmp_name"];


$Bilddaten = getimagesize($Grafikdatei);


$OriginalBreite = $Bilddaten[0];

$OriginalHoehe = $Bilddaten[1];



if($OriginalBreite < $ThumbnailBreite)

{

    $ThumbnailBreite=$OriginalBreite;
    
}

$Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite;

$ThumbnailHoehe = intval($OriginalHoehe/$Skalierungsfaktor);


if($Bilddaten[2]==1)

{
    $Originalgrafik = ImageCreateFromGIF($Grafikdatei);
    $Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe);
    ImageCopyResized($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
    ImageGIF($Thumbnailgrafik, $Grafikdatei);
}

elseif($Bilddaten[2]==2)
{
    $Originalgrafik = ImageCreateFromJPEG($Grafikdatei);
    $Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe);
    ImageCopyResized($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
    ImageJPEG($Thumbnailgrafik, $Grafikdatei);
}

elseif($Bilddaten[2]==3)
{
    $Originalgrafik = ImageCreateFromPNG($Grafikdatei);
    $Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe);
    ImageCopyResized($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
    ImagePNG($Thumbnailgrafik, $Grafikdatei);
}


}





?>
 
PHP:
    $Originalgrafik = ImageCreateFromGIF($Grafikdatei); 
    $Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe);
Ein GIF-Bild unterstützt nur 256 Farben, es ist nicht notwendig ImageCreateTrueColor zu benutzen, und damit mehr Speicher sinnlos zu verbrauchen.
ImageCreate reicht hier auch.

Thema Speicher, dieser sollte auch wieder frei gegeben werden => ImageDestroy

Weis jetzt nicht ganz genau, aber sollte ImageCopyResized Probleme verursachen (Bild-Qualität) dann mal mit ImageCopyResampled versuchen.
 
Zurück