Hallo Leute, hab ein Problem mit meinem Upload Script, wenn ich eine Gif Datei
Hochladen möchte, Generiert er keine Thumbnail!
Der Code:
Link zur seite: http://upload.cyber-gfx.de/index.php
Kann mir da jemand Helfen?
MFG
Hochladen möchte, Generiert er keine Thumbnail!
Der Code:
PHP:
<?
if($action){
// --------------------------------
// Diverse Variablen
// --------------------------------
$path = "img/"; // Url zum Speicherordner der großen Bilder
$thumb_path = "img/thumbs/"; // Url zum Speicherordner der Vorschaubilder
$config_thumb_width = "200"; // Bildbreite max. bei Vorschaubild
$config_thumb_height = "200"; // Bildhöhe max. bei Vorschaubild
$resizequality = "70"; // Bildkompressionsrate 0-100
$deindomain = "http://cyber-gfx.de/upload-script/"; // unsere Domain
if ($HTTP_POST_FILES['userfile']['tmp_name']<> 'none')
{
// --------------------------------
// Get File Upload Info
// --------------------------------
$filename = $HTTP_POST_FILES['pic_file']['name'];
$filetype = $HTTP_POST_FILES['pic_file']['type'];
$filetmp = $HTTP_POST_FILES['pic_file']['tmp_name'];
// --------------------------------
// Check file type
// --------------------------------
switch ($filetype)
{
case 'image/jpeg':
case 'image/jpg':
case 'image/pjpeg':
$pic_filetype = '.jpg';
break;
case 'image/png':
case 'image/x-png':
$pic_filetype = '.png';
break;
case 'image/gif':
$pic_filetype = '.gif';
break;
default:
die("Falsches Dateiformat. Nur JPEG, GIF oder PNG erlaubt!");
}
// --------------------------------
// Generate filename
// --------------------------------
srand((double)microtime()*1000000); // for older than version 4.2.0 of PHP
do
{
$pic_filename = md5(uniqid(rand())) . $pic_filetype;
}
while( file_exists($path . $pic_filename) );
// --------------------------------
// Move this file to upload directory
// --------------------------------
$ini_val = ( @phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';
if ( @$ini_val('open_basedir') != '' )
{
if ( @phpversion() < '4.0.3' )
{
die("open_basedir is set and your PHP version does not allow move_uploaded_file<br /><br />Please contact your server admin");
}
$move_file = 'move_uploaded_file';
}
else
{
$move_file = 'copy';
}
$move_file($filetmp, $path . $pic_filename);
@chmod($path . $pic_filename, 0777);
// --------------------------------
// Well, it's an image. Check its image size
// --------------------------------
$pic_size = getimagesize($path . $pic_filename);
$pic_width = $pic_size[0];
$pic_height = $pic_size[1];
// --------------------------------
// This image is okay, we can cache its thumbnail now
// --------------------------------
if($pic_filetype = '.gif')
{
$gd_errored = FALSE;
switch ($pic_filetype)
{
case '.jpg':
$read_function = 'imagecreatefromjpeg';
break;
case '.png':
$read_function = 'imagecreatefrompng';
break;
case '.gif':
$read_function = 'imagecreatefrompng';
break;
}
$src = @$read_function($path . $pic_filename);
if (!$src)
{
$gd_errored = TRUE;
$pic_thumbnail = '';
}
else if( ($pic_width > $config_thumb_width) or ($pic_height > $config_thumb_height) )
{
// Resize it
if ($pic_width > $pic_height)
{
$thumbnail_width = $config_thumb_width;
$thumbnail_height = $config_thumb_width * ($pic_height/$pic_width);
}
else
{
$thumbnail_height = $config_thumb_height;
$thumbnail_width = $config_thumb_height * ($pic_width/$pic_height);
}
$thumbnail = @imagecreatetruecolor($thumbnail_width, $thumbnail_height);
$resize_function = 'imagecopyresampled';
@$resize_function($thumbnail, $src, 0, 0, 0, 0, $thumbnail_width, $thumbnail_height, $pic_width, $pic_height);
}
else
{
$thumbnail = $src;
}
if (!$gd_errored)
{
$pic_thumbnail = $pic_filename;
// Write to disk
switch ($pic_filetype)
{
case '.jpg':
@imagejpeg($thumbnail, $thumb_path . $pic_thumbnail, $resizequality);
break;
case '.png':
@imagepng($thumbnail, $thumb_path . $pic_thumbnail);
break;
case '.gif':
@imagepng($thumbnail, $thumb_path . $pic_thumbnail);
break;
}
@chmod($thumb_path . $pic_thumbnail, 0777);
} // End IF $gd_errored
} // End Thumbnail Cache
// --------------------------------------
// OK lets resize the original picture
// --------------------------------------
if($pic_filetype = '.gif')
{
$gd_errored = FALSE;
switch ($pic_filetype)
{
case '.jpg':
$read_function = 'imagecreatefromjpeg';
break;
case '.png':
$read_function = 'imagecreatefrompng';
break;
case '.gif':
$read_function = 'imagecreatefrompng';
break;
}
$src = @$read_function($path . $pic_filename);
if (!$src)
{
$gd_errored = TRUE;
$pic_resize = '';
}
else if( ($pic_width > $config_width) or ($pic_height > $config_height) )
{
// Write to disk
switch ($pic_filetype)
{
case '.jpg':
@imagejpeg($resize, $path . $pic_resize, $resizequality);
break;
case '.png':
@imagepng($resize, $path . $pic_resize);
break;
case '.gif':
@imagepng($resize, $path . $pic_resize);
break;
}
@chmod($path . $pic_resize, 0777);
} // End IF $gd_errored
} // End Picture Resize
echo "<b>Vorschau:</b><br>";
echo "<a href=\"".$deindomain.$path.$pic_filename."\" target=\"_blank\"><img src=\"".$deindomain.$thumb_path.$pic_filename."\" border=0></a><br><br>";
echo "<b>Direkter Link:</b><br>";
echo "".$deindomain.$path.$pic_filename."<br><br>";
echo "<b>BB Code (1):</b><br>";
echo "[IMG]".$deindomain.$path.$pic_filename."[IMG]<br><br>";
echo "<b>BB Code (2):</b><br>";
echo "[IMG]".$deindomain.$thumb_path.$pic_filename."[IMG]<br><br>";
echo "<b>Thumbnail für Webseiten:</b><br>";
}
} else {
?>
Link zur seite: http://upload.cyber-gfx.de/index.php
Kann mir da jemand Helfen?
MFG