ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:20.37KB ,
资源ID:8114630      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8114630.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(php文件上传类程序代码.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

php文件上传类程序代码.docx

1、php文件上传类程序代码php文件上传类程序代码我们现在只要搜索文件上传类有大把,但是真正好用的上传类不多,下面我介绍这个文件上传类是我自己使用了很久,非常不错的一个代码,大家可参考参考一。代码如下复制代码file_name = $file_name;/重命名方式代表以时间命名,其他则使用给予的名称 $this-save_path = (preg_match(/$/,$save_path) ? $save_path : $save_path . /; $this-allow_types = $allow_types = ? jpg|gif|png|zip|rar : $allow_types;

2、 /* * 上传文件 * access public * param $files 等待上传的文件(表单传来的$_FILES) * return boolean 返回布尔值 */ public function upload_file($files) $name = $filesname; $type = $filestype; $size = $filessize; $tmp_name = $filestmp_name; $error = $fileserror; switch ($error) case 0 : $this-errmsg = ; break; case 1 : $this-

3、errmsg = 超过了php.ini中文件大小; break; case 2 : $this-errmsg = 超过了MAX_FILE_SIZE 选项指定的文件大小; break; case 3 : $this-errmsg = 文件只有部分被上传; break; case 4 : $this-errmsg = 没有文件被上传; break; case 5 : $this-errmsg = 上传文件大小为0; break; default : $this-errmsg = 上传文件失败!; break; if($error = 0 & is_uploaded_file($tmp_name)

4、/检测文件类型 if($this-check_file_type($name) = FALSE) return FALSE; /检测文件大小 if($size $this-max_size) $this-errmsg = 上传文件.$name.太大,最大支持.ceil($this-max_size/1024).kb的文件; return FALSE; $this-set_save_path();/设置文件存放路径 $new_name = $this-file_name != date ? $this-file_name.$this-ext : date(YmdHis).$this-ext;/设

5、置新文件名 $this-uploaded = $this-save_path.$new_name;/上传后的文件名 /移动文件 if(move_uploaded_file($tmp_name,$this-uploaded) $this-errmsg = 文件.$this-uploaded.上传成功!; return TRUE; else $this-errmsg = 文件.$this-uploaded.上传失败!; return FALSE; /* * 检查上传文件类型 * access public * param string $filename 等待检查的文件名 * return 如果检

6、查通过返回TRUE 未通过则返回FALSE和错误消息 */ public function check_file_type($filename) $ext = $this-get_file_type($filename); $this-ext = $ext; $allow_types =explode(|,$this-allow_types);/分割允许上传的文件扩展名为数组 /echo $ext; /检查上传文件扩展名是否在请允许上传的文件扩展名中 if(in_array($ext,$allow_types) return TRUE; else $this-errmsg = 上传文件.$fi

7、lename.类型错误,只支持上传.str_replace(|,$this-allow_types).等文件类型!; return FALSE; /* * 取得文件类型 * access public * param string $filename 要取得文件类型的目标文件名 * return string 文件类型 */ public function get_file_type($filename) $info = pathinfo($filename); $ext = $infoextension; return $ext; /* * 设置文件上传后的保存路径 */ public fu

8、nction set_save_path() $this-save_path = (preg_match(/$/,$this-save_path) ? $this-save_path : $this-save_path . /; if(!is_dir($this-save_path) /如果目录不存在,创建目录 $this-set_dir(); /* * 创建目录 * access public * param string $dir 要创建目录的路径 * return boolean 失败时返回错误消息和FALSE */ public function set_dir($dir = null

9、) /检查路径是否存在 if(!$dir) $dir = $this-save_path; if(is_dir($dir) $this-errmsg = 需要创建的文件夹已经存在!; $dir = explode(/, $dir);foreach($dir as $v) if($v) $d .= $v . /; if(!is_dir($d) $state = mkdir($d, 0777); if(!$state) $this-errmsg = 在创建目录 . $d . 时出错!; return true; /* 图片处理类* 可以对图片进行生成缩略图,打水印等操作* 本类默认编码为UTF8

10、如果要在GBK下使用请将img_mark方法中打中文字符串水印iconv注释去掉* 由于UTF8汉字和英文字母大小(像素)不好确定,在中英文混合出现太多时可能会出现字符串偏左* 或偏右,请根据项目环境对get_mark_xy方法中的$strc_w = strlen($this-mark_str)*7+5进* 行调整* 需要GD库支持,为更好使用本类推荐使用GD库2.0+* author kickflipphp100 QQ263340607*/class uploadImg extends uploadFile public $mark_str = kickflipphp100; /水印字符串

11、public $str_r = 0; /字符串颜色R public $str_g = 0; /字符串颜色G public $str_b = 0; /字符串颜色B public $mark_ttf = ./upload/SIMSUN.TTC; /水印文字字体文件(包含路径) public $mark_logo = ./upload/logo.png; /水印图片 public $resize_h;/生成缩略图高 public $resize_w;/生成缩略图宽 public $source_img;/源图片文件 public $dst_path = ./upload/;/缩略图文件存放目录,不填

12、则为源图片存放目录 /* * 生成缩略图 生成后的图 * access public * param integer $w 缩小后图片的宽(px) * param integer $h 缩小后图片的高(px) * param string $source_img 源图片(路径+文件名) */ public function img_resized($w,$h,$source_img = NULL) $source_img = $source_img = NULL ? $this-uploaded : $source_img;/取得源文件的地址,如果为空则默认为上次上传的图片 if(!is_fi

13、le($source_img) /检查源图片是否存在 $this-errmsg = 文件.$source_img.不存在; return FALSE; $this-source_img = $source_img; $img_info = getimagesize($source_img); $source = $this-img_create($source_img); /创建源图片 $this-resize_w = $w; $this-resize_h = $h; $thumb = imagecreatetruecolor($w,$h); imagecopyresized($thumb,$

14、source,0,0,0,0,$w,$h,$img_info0,$img_info1);/生成缩略图片 $dst_path = $this-dst_path = ? $this-save_path : $this-dst_path; /取得目标文件夹路径 $dst_path = (preg_match(/$/,$dst_path) ? $dst_path : $dst_path . /;/将目标文件夹后加上/ if(!is_dir($dst_path) $this-set_dir($dst_path); /如果不存在目标文件夹则创建 $dst_name = $this-set_newname(

15、$source_img); $this-img_output($thumb,$dst_name);/输出图片 imagedestroy($source); imagedestroy($thumb); /* *打水印 *access public *param string $source_img 源图片路径+文件名 *param integer $mark_type 水印类型(1为英文字符串,2为中文字符串,3为图片logo,默认为英文字符串) *param integer $mark_postion 水印位置(1为左下角,2为右下角,3为左上角,4为右上角,默认为右下角); *return

16、打上水印的图片 */ public function img_mark($source_img = NULL,$mark_type = 1,$mark_postion = 2) $source_img = $source_img = NULL ? $this-uploaded : $source_img;/取得源文件的地址,如果为空则默认为上次上传的图片 if(!is_file($source_img) /检查源图片是否存在 $this-errmsg = 文件.$source_img.不存在; return FALSE; $this-source_img = $source_img; $img

17、_info = getimagesize($source_img); $source = $this-img_create($source_img); /创建源图片 $mark_xy = $this-get_mark_xy($mark_postion);/取得水印位置 $mark_color = imagecolorallocate($source,$this-str_r,$this-str_g,$this-str_b); switch($mark_type) case 1 : /加英文字符串水印 $str = $this-mark_str; imagestring($source,5,$ma

18、rk_xy0,$mark_xy1,$str,$mark_color); $this-img_output($ce,$source_img); break; case 2 : /加中文字符串水印 if(!is_file($this-mark_ttf) /检查字体文件是否存在 $this-errmsg = 打水印失败:字体文件.$this-mark_ttf.不存在!; return FALSE; $str = $this-mark_str; /$str = iconv(gbk,utf-8,$str);/转换字符编码 如果使用GBK编码请去掉此行注释 imagettftext($source,12,

19、0,$mark_xy2,$mark_xy3,$mark_color,$this-mark_ttf,$str); $this-img_output($source,$source_img); break; case 3 : /加图片水印 if(is_file($this-mark_logo) /如果存在水印logo的图片则取得logo图片的基本信息,不存在则退出 $logo_info = getimagesize($this-mark_logo); else $this-errmsg = 打水印失败:logo文件.$this-mark_logo.不存在!; return FALSE; $logo

20、_info = getimagesize($this-mark_logo); if($logo_info0$img_info0 | $logo_info1$img_info1) /如果源图片小于logo大小则退出 $this-errmsg = 打水印失败:源图片.$this-source_img.比.$this-mark_logo.小!; return FALSE; $logo = $this-img_create($this-mark_logo); imagecopy ( $source, $logo, $mark_xy4, $mark_xy5, 0, 0, $logo_info0, $logo_info1); $this-img_output($source,$source_img); break; default: /其它则为文字图片 $str = $this-mark_str; imagestring($source,5,$mark_xy0,$mark_xy1,$str,$mark_color); $this-img_output($source,$source_img); break; imagedestroy($source); /* * 取得

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1