Home > Backend Development > PHP Tutorial > Simple upload of multiple image formats in PHP_PHP tutorial

Simple upload of multiple image formats in PHP_PHP tutorial

WBOY
Release: 2016-07-13 10:33:05
Original
1050 people have browsed it

Simply wrote a PHP image upload, which can support images in jpg, png, gif and other formats. If you want to support more formats, such as bmp, you can expand it yourself. It is not object-oriented, so I simply record it here for future reference.

Uploading 2 images at a time is supported here. 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

<?php
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('上传成功!'); window.location = "".$page."";</script>";
?>
Copy after login

Some questions need to be explained:

JPEG images generate images whose quality ranges from 0 (lowest quality, smallest 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/752564.htmlTechArticle simply wrote a PHP image upload, which can support images in jpg, png, gif and other formats. If you If you want to support more formats, such as bmp, you can expand it yourself. Not object-oriented,...
Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template