<Meta http-equiv=Content-Type content=text/html; charset=utf-8 />
<?PHP
/******************************************************************************
参数说明:
$max_file_size : 上传文件大小限制,单位BYTE
$destination_folder : 上传文件路径
$watermark : 是否附加水印(1为加水印,其他为不加水印);
使用说明:
1. 将PHP.INI文件里面的extension=PHP_gd2.dll一行前面的;号去掉,因为我们要用到GD库;
2. 将extension_dir =改为你的PHP_gd2.dll所在目录;
******************************************************************************/
//上传文件类型列表
$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 = 2; //水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);
$waterstring = http://WWW.512pic.COM; //水印字符串
$waterimg=xplore.gif; //水印图片
$imgpreview=1; //是否生成预览图(1为生成,其他为不生成);
$imgpreviewsize=1; //缩略图比例 1/2
$destination_folder =$destination_folder .date('Y',time())./;
if(!file_exists($destination_folder)) //检查年份文件是否存在,不存在则创建
{
//检查是否有该文件夹,如果没有就创建,并给予最高权限
mkdir($destination_folder,0700);
}//END IF
$destination_folder =$destination_folder .date('md',0700);
}//END IF
?>
<html>
<head>
<title>图片上传程序</title>
<style type=text/css>
<!--
body
{
font-size: 9pt;
}
input
{
background-color: #66CCFF;
border: 1px inset #CCCCCC;
}
-->
</style>
</head>
<body>
<form enctype=multipart/form-data method=post name=upform>
上传文件:
<input name=upfile type=file>
<input type=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']; //文件类型
date_default_timezone_set('PRC');
$fnameurl = date(YmdHis).rand(100000,999999);//文件名 年月日时分秒+6位随机数
$destination = $destination_folder.$fnameurl...$ftype; //文件路径
if (file_exists($destination) && $overwrite != true)
{
echo 同名文件已经存在了;
exit;
}
if(!move_uploaded_file ($filename,$destination))
{
echo 移动文件出错;
exit;
}
$pinfo = pathinfo($destination);
$fname = $pinfo[basename];
echo <font color=red>已经成功上传</font><br>文件名: <font color=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);
$black = imagecolorallocate($nimage,0);
$red =imagecolorallocate($nimage,0);
imagefill($nimage,$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,$image_size[0],$image_size[1]);
imagefilledrectangle($nimage,1,$image_size[1]-15,125,$image_size[1],$black );
switch($watertype)
{
case 1: //加水印字符串
imagestring($nimage,2,3,$waterstring,$red); //图象地址,使用内置字体,X坐标,Y坐标,字符串,颜色
break;
case 2: //加水印图片
$simage1 =imagecreatefromgif(xplore.gif);
imagecopy($nimage,$simage1,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 <br>图片预览:<br>;
echo <img src=\.$destination.\ width=.($image_size[0]*$imgpreviewsize). height=.($image_size[1]*$imgpreviewsize);
echo alt=\图片预览:\r文件名:.$destination.\r上传时间:\>;
$uu = str_replace(..,,$destination_folder.$fname ); //替换前面冒号
echo <script language=javascript>window.opener.document.form.File_img.value='.$uu .';var opened=window.open('about:blank','_self');
opened.opener=null;
opened.close();
</script>; //将路径返回表单form中的文本框file
//关闭自己
}
}
?>
</body>
</html>
/*** 以上代码来自:编程之家 jb51.cc(jb51.cc) ***/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。