Home > Backend Development > PHP Tutorial > PHP image upload code (supports watermarks, thumbnails)_PHP tutorial

PHP image upload code (supports watermarks, thumbnails)_PHP tutorial

WBOY
Release: 2016-07-13 10:46:18
Original
806 people have browsed it

This code can add sharks to the uploaded pictures and can also scale the pictures. Friends in need can refer to it.

This code can add sharks to the uploaded pictures and can also scale the pictures. Friends in need can refer to it.

$uptypes=array('image/jpg', //Upload file type list
'image/jpeg',
'image/png',
'image/pjpeg',
'image/gif',
'image/bmp',
'image/x-png');
$max_file_size=5000000; //Upload file size limit, unit BYTE
$destination_folder="upload/"; //Upload file path
$watermark=1; //Whether to add a watermark (1 means adding watermark, others means not adding watermark);
$watertype=1; //Watermark type (1 is text, 2 is picture)
$waterposition=1; //Watermark position (1 is the lower left corner, 2 is the lower right corner, 3 is the upper left corner, 4 is the upper right corner, 5 is in the center);
$waterstring="newphp.site.cz"; //Watermark string
$waterimg="xplore.gif"; //watermark image
$imgpreview=1; //Whether to generate a preview image (1 is generated, others are not generated);
$imgpreviewsize=1/2; //Thumbnail ratio
?>


M4U BLOG - fywyj.cn





Upload files:






The file types allowed to be uploaded are: jpg|jpeg|png|pjpeg|gif|bmp|x-png|swf


Return

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!is_uploaded_file($_FILES["upfile"][tmp_name]))
//Whether the file exists
{
echo "The file does not exist!";
exit;
}

$file = $_FILES["upfile"];
if($max_file_size < $file["size"])
//Check file size
{
echo "The file is too big!";
exit;
}

if(!in_array($file["type"], $uptypes))
//Check file type
{
echo "Only image files or Flash can be uploaded!";
exit;
}

if(!file_exists($destination_folder))
mkdir($destination_folder);

$filename=$file["tmp_name"];
$image_size = getimagesize($filename);
$pinfo=pathinfo($file["name"]);
$ftype=$pinfo[extension];
$destination = $destination_folder.time().".".$ftype;
if (file_exists($destination) && $overwrite != true)
{
echo "The file with the same name already exists!";
exit;
}

if(!move_uploaded_file ($filename, $destination))
{
echo "Error moving file!";
exit;
}

$pinfo=pathinfo($destination);
$fname=$pinfo[basename];
echo " 已经成功上传
文件名: ".$destination_folder.$fname."
";
echo " 宽度:".$image_size[0];
echo " 长度:".$image_size[1];
if($watermark==1)
{
$iinfo=getimagesize($destination,$iinfo);
$nimage=imagecreatetruecolor($image_size[0],$image_size[1]);
$white=imagecolorallocate($nimage,255,255,255);
$black=imagecolorallocate($nimage,0,0,0);
$red=imagecolorallocate($nimage,255,0,0);
imagefill($nimage,0,0,$white);
switch ($iinfo[2])
{
case 1:
$simage =imagecreatefromgif($destination);
break;
case 2:
$simage =imagecreatefromjpeg($destination);
break;
case 3:
$simage =imagecreatefrompng($destination);
break;
case 6:
$simage =imagecreatefromwbmp($destination);
break;
default:
die("不能上传此类型文件!");
exit;
}

imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);
imagefilledrectangle($nimage,1,$image_size[1]-15,80,$image_size[1],$white);

switch($watertype)
{
case 1: //加水印字符串
imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);
break;
case 2: //加水印图片
$simage1 =imagecreatefromgif("xplore.gif");
imagecopy($nimage,$simage1,0,0,0,0,85,15);
imagedestroy($simage1);
break;
}

switch ($iinfo[2])
{
case 1:
//imagegif($nimage, $destination);
imagejpeg($nimage, $destination);
break;
case 2:
imagejpeg($nimage, $destination);
break;
case 3:
imagepng($nimage, $destination);
break;
case 6:
imagewbmp($nimage, $destination);
//imagejpeg($nimage, $destination);
break;
}

//覆盖原上传文件
imagedestroy($nimage);
imagedestroy($simage);
}

if($imgpreview==1)
{
echo "
图片预览:
";
echo "图片预览:r文件名:";
}
}
?>



www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632974.htmlTechArticle此代码可以为上传的图片加鲨鱼同时还可以比例缩放图片,有需要的朋友可以参考一下。 此代码可以为上传的图片加鲨鱼同时还可以比例缩...
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