用php将上传的图像转换成小图像
你好,我有一个关于php的问题。在我的php文件中,我有一部分用于图像上传。 它还翻译并上传我上传的同样小尺寸的图像。但是,当使用.jpg扩展名时,这种缩减不适用于.png扩展名用php将上传的图像转换成小图像,php,image,Php,Image,你好,我有一个关于php的问题。在我的php文件中,我有一部分用于图像上传。 它还翻译并上传我上传的同样小尺寸的图像。但是,当使用.jpg扩展名时,这种缩减不适用于.png扩展名 $uploaddir = "storage/products/screenshot/"; //Screenshot upload directory $valid_formats = array("jpg","jpeg","png"); // Valid image formats $countScreen = 0
$uploaddir = "storage/products/screenshot/"; //Screenshot upload directory
$valid_formats = array("jpg","jpeg","png"); // Valid image formats
$countScreen = 0;
foreach ($_FILES['item_screen']['name'] as $name => $value) {
$filename = stripslashes($_FILES['item_screen']['name'][$name]);
$size = filesize($_FILES['item_screen']['tmp_name'][$name]);
//Convert extension into a lower case format
$ext = getExtension($filename);
$ext = strtolower($ext);
//File extension check
if (in_array($ext, $valid_formats)) {
if($ext=="jpg" || $ext=="jpeg" )
{
$uploadedfile = $_FILES['item_screen']['tmp_name'][$name];
$src = @imagecreatefromjpeg($uploadedfile);
}
else if($ext=="png")
{
$uploadedfile = $_FILES['item_screen']['tmp_name'];
$src = @imagecreatefrompng($uploadedfile);
}
else
{
$src = @imagecreatefromgif($uploadedfile);
}
list($width,$height)=getimagesize($uploadedfile);
$newwidth=800;
$newheight=($height/$width)*$newwidth;
$tmp=imagecreatetruecolor($newwidth,$newheight);
$newwidth1=222;
$newheight1=($height/$width)*$newwidth1;
$tmp1=imagecreatetruecolor($newwidth1,$newheight1);
@imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
@imagecopyresampled($tmp1,$src,0,0,0,0,$newwidth1,$newheight1,$width,$height);
$random1 = rand(9999, 100000);
$random2 = rand(9999, 200000);
$image_name = $first_title . '_' . $random1 . $random2 . '.' . $ext;
$image_name1 = 'small_' .$first_title . '_' . $random1 . $random2 . '.' . $ext;
//$newname = $uploaddir . $image_name;
$filename = $uploaddir . $image_name;
$filename1 = $uploaddir . $image_name1;
$pic_name = $image_name1;
@imagejpeg($tmp,$filename,100);
@imagejpeg($tmp1,$filename1,100);
@imagedestroy($src);
@imagedestroy($tmp);
@imagedestroy($tmp1);
//Moving file to uploads folder
if (!move_uploaded_file($_FILES['item_screen']['tmp_name'][$name], $filename)) {
$errors[]['message'] = $lang['ERROR_UPLOAD_IMG'];
}
if ($countScreen == 0)
$image_name2 = $image_name;
elseif ($countScreen >= 1)
$image_name2 = $image_name2 . "," . $image_name;
} else {
$errors[]['message'] = $lang['ONLY_JPG_ALLOW'];
}
$countScreen++;
}
Github要点:我认为您需要尝试以下方法:
if($ext=="jpg" || $ext=="jpeg" || $ext=="png" )
{
$uploadedfile = $_FILES['item_screen']['tmp_name'][$name];
$src = @imagecreatefromjpeg($uploadedfile);
}
else
{
$src = @imagecreatefromgif($uploadedfile);
}
1你的问题2是什么。请阅读:可能您在
imagecreatefrompng
案例中遗漏了[$name]
。这是工作,谢谢。我以前尝试过这个方法,只是删除了这个:否则如果($ext==“png”){$uploadedfile=$\u FILES['item\u screen']['tmp\u name'];$src=@imagecreatefrompng($uploadedfile);}欢迎,如果你感觉很好,请投票给我,并关注我的网站: