您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

PHP上传自动生成缩略图及水印类

来源:互联网 责任编辑:栏目编辑 发表时间:2013-07-01 23:02 点击:

思路很大一部分是原创的,但也有一些是COPY网络的,写得不够规范,还请各位大大不要见笑,同时给小弟些意见。

开始第一步:
创建文件夹,布局:
annex:附件(该目录下存放上传的原图片)
|— smallimg:存放缩略图片
|— mark:存放水印图片
include:存放类文件,字体(本程序代码使用的是:04B_08__.TTF)
|— upfile.php:集成简单上传,生成缩略图及水印的类文件信息
|— 04B_08__.TTF:字体文件
test.php:测试文件

进入第二步:
代码研究,希望各位能好好看看,小弟也是初学者,同时也希望各位能提出宝贵意见,小弟定会虚心领教的(写得不好不要拿鸡蛋砸偶噢)

以下为引用的内容:

-------------------------------------------------------------------------------
upfile.php

<?php
class UPImages {
var annexFolder = "annex";//附件存放点,默认为:annex
var smallFolder = "smallimg";//缩略图存放路径,注:必须是放在 annexFolder下的子目录,默认为:smallimg
var markFolder = "mark";//水印图片存放处
var upFileType = "jpg gif png";//上传的类型,默认为:jpg gif png rar zip
var upFileMax = 1024;//上传大小限制,单位是“KB”,默认为:1024KB
var fontType;//字体
var maxWidth = 500; //图片最大宽度
var maxHeight = 600; //图片最大高度

function UPImages(annexFolder,smallFolder,includeFolder) {
this->annexFolder = annexFolder;
this->smallFolder = smallFolder;
this->fontType = includeFolder."/04B_08__.TTF";
}

function upLoad(inputName) {
imageName = time();//设定当前时间为图片名称
if(@empty(_FILES[inputName]["name"])) die(error("没有上传图片信息,请确认"));
name = explode(".",_FILES[inputName]["name"]);//将上传前的文件以“.”分开取得文件类型
imgCount = count(name);//获得截取的数量
imgType = name[imgCount-1];//取得文件的类型
if(strpos(this->upFileType,imgType) === false) die(error("上传文件类型仅支持 ".this->upFileType." 不支持 ".imgType));
photo = imageName.".".imgType;//写入数据库的文件名
uploadFile = this->annexFolder."/".photo;//上传后的文件名称
upFileok = move_uploaded_file(_FILES[inputName]["tmp_name"],uploadFile);
if(upFileok) {
imgSize = _FILES[inputName]["size"];
kSize = round(imgSize/1024);
if(kSize > (this->upFileMax*1024)) {
@unlink(uploadFile);
die(error("上传文件超过 ".this->upFileMax."KB"));
}
} else {
die(error("上传图片失败,请确认你的上传文件不超过 upFileMax KB 或上传时间超时"));
}
return photo;
}

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • PHP测试
  • 十天学会php之第六天
  • 几种显示数据的方法的比较
  • 使用xmlhttp为网站增加域名查询功能
  • PHP+MYSQL+Javascript数据库查询结果的动态显示
  • 查找数组中指定键名的值
  • 用redis实现跨服务器session
  • 用新浪微博接口发送图片微博失败的原因
  • smarty局部缓存技术[源码分析]
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1