你好,我已经添加了一个简单的图像调整大小,这是打破我的GIF动画。有人可以帮助我破译这里需要从我现有的代码中删除,以允许该图像上传,然后以GIF形式动画…谢谢你的建议。
case 'addgift':
if($adminLevel == 4)
{
if ($_FILES['uploadedfile']['tmp_name'] != "")
{
$image = new SimpleImage();
$image->load($_FILES['uploadedfile']['tmp_name']);
$width = $image->getWidth();
$height = $image->getHeight();
if($width > 64) {
$height = (64/$width)*$height;
$width = 64;
}
if($height > 64) {
$width = (64/$height)*$width;
$height = 64;
}
$image->resize($width,$height);
if(preg_match("/'.(png)$/i", $_FILES['uploadedfile']['name']))
$type = IMAGETYPE_PNG;
else if(preg_match("/'.(gif)$/i", $_FILES['uploadedfile']['name']))
$type = IMAGETYPE_GIF;
else
$type = IMAGETYPE_JPEG;
$image->save("images/gifts/".$_FILES['uploadedfile']['name'], $type);
unlink($_FILES['uploadedfile']['tmp_name']);
mysql_query("INSERT INTO gifts
(name, image, cash, tokens)
VALUES ('".mysql_real_escape_string($_POST['name'])."', '".$_FILES['uploadedfile']['name']."', ".intval($_POST['cash']).", ".intval($_POST['tokens']).")");
mysql_query("INSERT INTO admin_actions
(id1, id2, action, extra, time)
VALUES($userid, 0, '{id1} added gift '"{extra}'".', '".mysql_real_escape_string($_POST['name'])."', UNIX_TIMESTAMP())");
}
}
break;
我不知道你的库是否支持这样的事情。你所能做的就是检查图片是否已经满足大小限制,并保持它不变,以防它满足。
- $image->resize($width,$height);
- $image->save("images/gifts/".$_FILES['uploadedfile']['name'], $type);
- unlink($_FILES['uploadedfile']['tmp_name']);
+ if ($image->getWidth() == $width && $image->getHeight() == $height)
+ move_uploaded_file($_FILES['uploadedfile']['tmp_name'], "images/gifts/".$_FILES['uploadedfile']['name']);
+ else
+ {
+ $image->resize($width,$height);
+ $image->save("images/gifts/".$_FILES['uploadedfile']['name'], $type);
+ unlink($_FILES['uploadedfile']['tmp_name']);
+ }
请查看以下答案。
在不破坏动画的情况下调整GIF文件大小