`
- 浏览:
5927821 次
- 性别:
- 来自:
上海
-
<?php
/******************************************************************************
参数说明:
$max_file_size:上传文件大小限制,单位BYTE
$destination_folder:上传文件路径
$watermark:是否附加水印(1为加水印,其他为不加水印);
******************************************************************************/
//上传文件类型列表
$uptypes=array(
'image/jpg',
'image/jpeg',
'image/png',
'image/pjpeg',
'image/gif',
'image/bmp',
'image/x-png'
);
$max_file_size=2000000;//上传文件大小限制,单位BYTE
$destination_folder="uploadimg/";//上传文件路径
$watermark=1;//是否附加水印(1为加水印,其他为不加水印);
$watertype=1;//水印类型(1为文字,2为图片)
$waterposition=1;//水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);
$waterstring="http://www.xplore.cn/";//水印字符串
$waterimg="xplore.gif";//水印图片
$imgpreview=1;//是否生成预览图(1为生成,其他为不生成);
$imgpreviewsize=1/2;//缩略图比例
?>
<html>
<head>
<title>ZwelL图片上传程序</title>
<styletype="text/css">
<!--
body
{
font-size:9pt;
}
input
{
background-color:#66CCFF;
border:1pxinset#CCCCCC;
}
-->
</style>
</head>
<body>
<formenctype="multipart/form-data"method="post"name="upform">
上传文件:
<inputname="upfile"type="file">
<inputtype="submit"value="上传"><br>
允许上传的文件类型为:<?=implode(',',$uptypes)?>
</form>
<?php
if($_SERVER['REQUEST_METHOD']=='POST')
{
if(!is_uploaded_file($_FILES["upfile"][tmp_name]))
//是否存在文件
{
echo"图片不存在!";
exit;
}
$file=$_FILES["upfile"];
if($max_file_size<$file["size"])
//检查文件大小
{
echo"文件太大!";
exit;
}
if(!in_array($file["type"],$uptypes))
//检查文件类型
{
echo"文件类型不符!".$file["type"];
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"同名文件已经存在了";
exit;
}
if(!move_uploaded_file($filename,$destination))
{
echo"移动文件出错";
exit;
}
$pinfo=pathinfo($destination);
$fname=$pinfo[basename];
echo"<fontcolor=red>已经成功上传</font><br>文件名:<fontcolor=blue>".$destination_folder.$fname."</font><br>";
echo"宽度:".$image_size[0];
echo"长度:".$image_size[1];
echo"<br>大小:".$file["size"]."bytes";
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])
{
case1:
$simage=imagecreatefromgif($destination);
break;
case2:
$simage=imagecreatefromjpeg($destination);
break;
case3:
$simage=imagecreatefrompng($destination);
break;
case6:
$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)
{
case1://加水印字符串
imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);
break;
case2://加水印图片
$simage1=imagecreatefromgif("xplore.gif");
imagecopy($nimage,$simage1,0,0,0,0,85,15);
imagedestroy($simage1);
break;
}
switch($iinfo[2])
{
case1:
//imagegif($nimage,$destination);
imagejpeg($nimage,$destination);
break;
case2:
imagejpeg($nimage,$destination);
break;
case3:
imagepng($nimage,$destination);
break;
case6:
imagewbmp($nimage,$destination);
//imagejpeg($nimage,$destination);
break;
}
//覆盖原上传文件
imagedestroy($nimage);
imagedestroy($simage);
}
if($imgpreview==1)
{
echo"<br>图片预览:<br>";
echo"<imgsrc="".$destination.""width=".($image_size[0]*$imgpreviewsize)."height=".($image_size[1]*$imgpreviewsize);
echo"alt="图片预览: 文件名:".$destination." 上传时间:">";
}
}
?>
</body>
</html>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
php实现上传图片并能控制是否加水印 php 上传图片 php加水印 上传图片 加水印 功能测试完全
PHP图片处理(上传、加水印、缩略图),对图片的处理
图片加水印后上传至对象存储,亲测可用。 环境:php语言,qcloud/cos-sdk-v5 COS上传扩展。需要安装gd库。 注意,腾讯云服务函数不可用(腾讯云php环境没有安装gd库),需要换成第三方图片处理扩展
php多张图片上传源代码,可以上传单张 或者多张图片,带加水印
一个php给图片加水印与上传图片加水印php类。 功能:PHP图片水印 (水印支持图片或文字) $groundImage 背景图片,即需要加水印的图片,暂只支持GIF,JPG,PNG格式; $waterImage 图片水印,即作为...
简洁的图片(可加水印)上传程序 可与任何系统进行整合
PHP上传类,可对上传或已存在的图片进行加水印、缩放等操作。水印支持图片水印和文字水印,水印位置有九个
贡献一个跟随了我多年的PHP图片上传、加水印及生成清晰缩略图等综合处理类,简单用法在类文件里面有说明,其他方法调用请看代码.
PHP上传多图片,带有生成缩略图,自动加水印功能的类
* 功能:用于文本编辑器kindeditor本地上传图片加水印,可以开启需添加水印的图片的最小长宽。 */ 添加文件 admin/admin_mark.php admin/templates/mark/ data/mark/ data/mark/cache_mark.php admin/...
uploadify 3.0 上传插件 自己添加了 水印 和 图片等比缩剪切 用jquery 有上传进度条
单个PHP文件上传,图片上传,带水印,php代码
首先让我们来了解PHP图片加水印的原理。 通过判断文件类型建立图形,然后把其复制到原建立的图形上,填充并建立rectangle,以备写入imagestring()或是在原已经定好的图像程序当中判断水印类型:一是字符串,另是增加...
为了防止辛苦做出来的图片被盗用,很多照片都会加上水印,可以直接用图片工具添加水印再上传,但PHP中就可以实现给图片加水印的功能,本文章向码农们介绍 php 给图片加水印的两种方法,感兴趣的码农可以参考一下本...
php图片上传类,支持加水印,生成略缩图功能,里面是配置和可以获取的一些信息,每一个配置信息都有默认值,如无特殊需要,可以不配置,功能比较齐全
分享一个php上传,生成略缩图,加水印工具类,设定附件存放地点,缩略图存放路径,限制上传大小,当前的时间为图片的名称,上传到数据库。
我们上传到网站的图片,防止被别人偷取,都可以在图片上加上水印,而这个class正是这个用途
分享一个网友写的php图片上传类,支持加水印,生成略缩图功能,里面是配置和可以获取的一些信息,每一个配置信息都有默认值,如无特殊需要,可以不配置,功能比较齐全,需要的朋友可以下载学习参考。
最全面的php图片上传:对图像加水印和 缩略图片