Home >Backend Development >PHP Tutorial >PHP supports image upload in multiple formats (supports jpg, png, gif)_PHP Tutorial

PHP supports image upload in multiple formats (supports jpg, png, gif)_PHP Tutorial

WBOY
WBOYOriginal
2016-07-21 15:23:541142browse

This supports uploading 2 images at a time. After uploading, the original image and the image with poor quality are generated. The original image is used to save the image with high quality, and the image with poor quality is used for web page display.
PHP Code

Copy code The code is as follows:

include_once("db.php");
include_once("dbinfo.php");
$connector = new nmdb($host, $username, $password);
$connector -> select_db($database);
$work_group = check_input($_POST['work_group']);
$name = check_input($_POST['name']);
$tel = check_input($_POST['tel']);
$id_card = check_input($_POST['id_card']);
$work_name = check_input($_POST['work_name']);
$place = check_input($_POST['place']);
$work1 = check_input($_POST['work1']);
date_default_timezone_set('PRC');
$date = date("Y-m-d H:i:s");
$quality = 100;
$quality2 = 70;
$quality_png = 9;
$quality2_png = 7;
if(isset($_FILES['work1']) && $_FILES['work1']['error']==0)
{
$size = getimagesize($_FILES['work1']['tmp_name']);
$original = $_FILES['work1']['tmp_name'];
$type = $_FILES['work1']['type'];
//echo $type;
$target_name = date('YmdHis').'_'.preg_replace('`[^a-z0-9-_.]`i','',$_FILES['work1']['name']);
$work1 = $target_name;
$target = dirname(__FILE__).'/uploads/'.$target_name;
switch($type)
{
case "image/jpeg":
$resultImage = imagecreatefromjpeg($original);
imagejpeg($resultImage, $target, $quality);
break;
case "image/png":
$resultImage = imagecreatefrompng($original);
imagepng($resultImage, $target, $quality_png);
break;
case "image/gif":
$resultImage = imagecreatefromgif($original);
imagegif($resultImage, $target, $quality);
break;
default :
die("不支持此文件类型");
exit;
}
$work1_small = $target_name;
$target = dirname(__FILE__).'/uploads/small/'.$target_name;
switch($type)
{
case "image/jpeg":
$resultImage = imagecreatefromjpeg($original);
imagejpeg($resultImage, $target, $quality2);
break;
case "image/png":
$resultImage = imagecreatefrompng($original);
imagepng($resultImage, $target, $quality2_png);
break;
case "image/gif":
$resultImage = imagecreatefromgif($original);
imagegif($resultImage, $target, $quality2);
break;
default :
die("不支持此文件类型");
exit;
}
}
if(isset($_FILES['work2']) && $_FILES['work2']['error']==0)
{
$size = getimagesize($_FILES['work2']['tmp_name']);
$original = $_FILES['work2']['tmp_name'];
$type = $_FILES['work2']['type'];
$target_name = date('YmdHis').'_'.preg_replace('`[^a-z0-9-_.]`i','',$_FILES['work2']['name']);
$work2 = $target_name;
$target = dirname(__FILE__).'/uploads/'.$target_name;
switch($type)
{
case "image/jpeg":
$resultImage = imagecreatefromjpeg($original);
imagejpeg($resultImage, $target, $quality);
break;
case "image/png":
$resultImage = imagecreatefrompng($original);
imagepng($resultImage, $target, $quality_png);
break;
case "image/gif":
$resultImage = imagecreatefromgif($original);
imagegif($resultImage, $target, $quality);
break;
default :
die("不支持此文件类型");
exit;
}
$work2_small = $target_name;
$target = dirname(__FILE__).'/uploads/small/'.$target_name;
switch($type)
{
case "image/jpeg":
$resultImage = imagecreatefromjpeg($original);
imagejpeg($resultImage, $target, $quality2);
break;
case "image/png":
$resultImage = imagecreatefrompng($original);
imagepng($resultImage, $target, $quality2_png);
break;
case "image/gif":
$resultImage = imagecreatefromgif($original);
imagegif($resultImage, $target, $quality2);
break;
default :
die("不支持此文件类型");
exit;
}
}
$sql="insert into photo(work_group,name,tel,id_card,work_name,place,work,work_small,date) values('$work_group','$name','$tel','$id_card' ,'$work_name','$place','$work1','$work1_small','$date')";
//echo $sql;
$result = $connector -> query( $sql) or die(mysql_error());
if($work2 != "" && $work2_small != null)
{
$sql2="insert into photo(work_group,name,tel, id_card,work_name,place,work,work_small,date) values('$work_group','$name','$tel','$id_card','$work_name','$place','$work2',' $work2_small','$date')";
$result2 = $connector -> query($sql2) or die(mysql_error());
}
$connector -> close($ connector);
$page="../upload.php";
echo "<script>alert('Upload successful!'); window.location = \"".$page."\" ;</script>";
?>

Some issues need to be explained:
The quality of the image generated by the JPEG image is a range from 0 (lowest quality, minimum file size) to 100 (highest quality, largest file size). The quality of the image generated by ImagePNG ranges from 0 to 9. If the parameters passed in are outside this range, the function will not work.
To determine the type of uploaded file, $type = $_FILES['work1']['type'];.
You can use these functions to create images in various formats: imagecreatefromjpeg(), imagecreatefrompng(), imagecreatefromgif().

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/324447.htmlTechArticleHere supports uploading 2 pictures at a time. After uploading, the original picture and the picture with poor quality will be generated. The original picture is used It is used to save high-quality images, and poor-quality images are used for web page display. PHP Code Copy code code...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn