<?php
$_UPLOAD_CONFIG = Array (
'filetype' => Array ('image/jpg','image/jpeg','image/png','image/gif'),
'max-size' => "4194304",
'target' => "image/" # target folder for uploads
);
if(isset($_POST['submit']))
{
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$rand = rand(0,1000000);
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
$file = ''.$rand.'-'.$_FILES['file']['tmp_name'].'';
$filename = ''.$rand.'-'.$_FILES['file']['tmp_name'].'';
$size2 = getimagesize($_FILES['file']['tmp_name']);
/////////////////////////////////////////////////////////////////////////////
function createThumb($file)
{
// Bilddaten feststellen
$size=getimagesize($file);
$breite=$size[0];
$hoehe=$size[1];
//hier die Breite festlegen
$neueBreite=150;
$neueHoehe=intval($hoehe*$neueBreite/$breite);
if($size[2]==1) {
// GIF
$altesBild=ImageCreateFromGIF($file);
$neuesBild=ImageCreate($neueBreite,$neueHoehe, "thumbs/");
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageGIF($neuesBild);
}
elseif($size[2]==2) {
// JPG
$altesBild=ImageCreateFromJPEG($file);
$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild, "thumbs/".$filename."");
}
elseif($size[2]==3) {
// PNG
$altesBild=ImageCreateFromPNG($file);
$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe, "thumbs/");
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImagePNG($neuesBild);
}
}
function createImage($file)
{
// Bilddaten feststellen
$size=getimagesize($file);
$breite=$size[0];
$hoehe=$size[1];
//hier die Breite festlegen
$neueBreite=400;
$neueHoehe=intval($hoehe*$neueBreite/$breite);
if($size[2]==1) {
// GIF
$altesBild=ImageCreateFromGIF($file);
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageGIF($neuesBild, "img/".$filename."");
}
elseif($size[2]==2) {
// JPG
$altesBild=ImageCreateFromJPEG($file);
$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild, "img/".$filename."");
}
elseif($size[2]==3) {
// PNG
$altesBild=ImageCreateFromPNG($file);
$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImagePNG($neuesBild, "img/".$filename."");
}
}
////////////////////////////////////////////////////////////////////////////
if(!in_array("".$type."", $_UPLOAD_CONFIG['filetype'])) {
$err[] = "Unerlaubtes Dateiformat!";
}
if($size > $_UPLOAD_CONFIG['max-size']) {
$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt ".$size." kb!";
}
if(empty($err)) {
if($size2[0] > '400')
{
createImage($file);
}
else
{
copy($_FILES['file']['tmp_name'], $_UPLOAD_CONFIG['target'].'/'.$rand.'-'.$_FILES['file']['name']);
createThumb($file);
echo "Die Datei $name wurde erfolgreich hochgeladen!<br />";
echo '<a href="'.$_UPLOAD_CONFIG['target'].'/'.$rand.'-'.$_FILES['file']['name'].'"><img src="thumbs/'.$filename.'" /></a>';
}
}
else {
foreach($err as $error)
echo "$error<br>";
}
//$file = $_UPLOAD_CONFIG['target'].'/'.$rand.'-'.$_FILES['file']['name'];
}
else
{
echo '<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="file" name="file"><br>
<input type="submit" value="hochladen" name="submit">
</form>';
}
?>