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
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);
}