首页 > php教程 > php手册 > 正文

php 图片上传代码(具有生成缩略图与增加水印功能)

php中文网
发布: 2016-06-13 09:48:21
原创
1454人浏览过

这款图片上传源代码是一款可以上传图片并且还具有给上传的图片生成缩略图与增加水印功能哦,可以说是一款完美的图片上传类哦。

Modoer多功能点评系统2.5 精华版 Build 20110710 GBK
Modoer多功能点评系统2.5 精华版 Build 20110710 GBK

Modoer 是一款以本地分享,多功能的点评网站管理系统。采用 PHP+MYSQL 开发设计,开放全部源代码。因具有非凡的访问速度和卓越的负载能力而深受国内外朋友的喜爱,不局限于商铺类点评,真正实现了多类型的点评,可以让您的网站点评任何事与物,同时增加产品模块,也更好的网站产品在网站上展示。Modoer点评系统 2.5 Build 20110710更新列表1.同步 旗舰版系统框架2.增加 限制图片

Modoer多功能点评系统2.5 精华版 Build 20110710 GBK 0
查看详情 Modoer多功能点评系统2.5 精华版 Build 20110710 GBK

php教程 图片上传代码(具有生成缩略图与增加水印功能)
这款图片上传源代码是一款可以上传图片并且还具有给上传的图片生成缩略图与增加水印功能哦,可以说是一款完美的图片上传类哦。

class upfile {  public $filepath = "www.bKjia.c0m/"; //上传文件存放文件夹  public $filesize = 1000000; //允许上传的大小  //如果要修改允许上传文件的类型  请搜索 【 switch ($upfiletype) { //文件类型  】  public $reimagesize = array (   true, //是否生成缩略图   400, //缩略图宽   300,//缩略图高   "" //缩略图存放文件夹 如果为空和当前要生成缩略图的文件在同一目录 文件前缀r_  ); //是否生成缩略图 array(生成或不生成,缩略图宽,缩略图高,存放文件夹); 注意:存放文件夹后跟 '/'  public $india = true; //是否打水印 true打 false不打  public $indiaimage = ""; //水印图片地址为空则不打图片水印 如果有文字水印建议不要开启图片水印  public $indiaimagex = 100; //图片距离图片左边距离  public $indiaimagey = 10; //图片距离图片上面距离  public $indiatext = "www.bKjia.c0m"; //水印文字  public $fontsize = 6; //水印文字大小,1最小6最大  public $indiatextx = 10; //文字距离图片左边距离  public $indiatexty = 10; //文字距离图片上面距离  public $r = 250; //图片颜色三原色 $r红  public $g = 250; //$g绿  public $b = 250; //$b蓝  public $indiapath = ""; //加了水印的图片保存路径,如果为空就直接替代原来的图片  //开始上传处理  function uploadfile($upfile) {   if ($upfile == "") {    die("uploadfile:参数不足");   }   if (!file_exists($this->filepath)) {    mkdir($this->filepath);   }   $upfiletype = $upfile['type'];   $upfilesize = $upfile['size'];   $upfiletmpname = $upfile['tmp_name'];   $upfilename = $upfile['name'];   $upfileerror = $upfile['error'];   if ($upfilesize > $this->filesize) {    return false; //文件过大   }   switch ($upfiletype) { //文件类型    case 'image/jpeg' :     $type = 'jpg';     break;    case 'image/pjpeg' :     $type = 'jpg';     break;    case 'image/png' :     $type = 'png';     break;    case 'image/gif' :     $type = 'gif';     break;   }   if (!isset ($type)) {    return false; //不支持此类型   }   if (!is_uploaded_file($upfiletmpname) or !is_file($upfiletmpname)) {    return false;    ; //文件不是经过正规上传的;   }   if ($this->upfileerror != 0) {    return false; //其他错误   }   if ($this->upfileerror == 0) {    if (!file_exists($upfiletmpname)) {     return false; //临时文件不存在    } else {     $filename = date("ymdhis", time() + 3600 * 8); //图片已当前时间命名     $filename = $this->filepath . $filename . "." . $type;     if (!move_uploaded_file($upfiletmpname, $filename)) {      return false; //文件在移动中丢失     } else {      if ($this->india == true) {       $this->goindia($filename, $type,true);      } else {       if ($this->reimagesize[0] == true) {        $this->goreimagesize($filename, $type);       } else {        return true; //上传成功!        unlink($upfiletmpname);       }      }     }    }   }  }  //添加水印处理  function goindia($filename, $filetype,$reimage=false) {   if (!file_exists($filename)) {    $this->reerror(7); //要添加水印的文件不存在   } else {    if ($filetype == "jpg") {     $im = imagecreatefromjpeg($filename);    } else     if ($filetype == "gif") {      $im = imagecreatefromgif($filename);     } else      if ($filetype == "png") {       $im = imagecreatefrompng($filename);      }    if ($this->indiatext != "") { //如果水印文字不为空     $textcolor = imagecolorallocate($im, $this->r, $this->g, $this->b); //设置文字颜色     imagestring($im, $this->fontsize, $this->indiatextx, $this->indiatexty, $this->indiatext, $textcolor); //将文字写入图片    }    if ($this->indiaimage != "") {//如果水印图片不为空     $indiaimagetype = getimagesize($this->indiaimage);     $logow = $indiaimagetype[0]; //得到水印图片的宽     $logoh = $indiaimagetype[1]; //得到水印图片的高     switch ($indiaimagetype[2]) { //判断水印图片的格式      case 1 :       $indiaimagetype = "gif";       $logo = imagecreatefromgif($this->indiaimage);       break;      case 2 :       $indiaimagetype = "jpg";       $logo = imagecreatefromjpeg($this->indiaimage);       break;      case 3 :       $indiaimagetype = "png";       $logo = imagecreatefrompng($this->indiaimage);       break;     }     imagealphablending($im, true); //打开混色模式     imagecopy($im, $logo, $this->indiaimagex, $this->indiaimagey, 0, 0, $logow, $logoh);     imagedestroy($im);     imagedestroy($logo);    }   }   if ($this->indiapath == "") { //如果水印存放地址不为空    if ($filetype == "jpg") {     imagejpeg($im, $filename);    } else     if ($filetype == "gif") {      imagegif($im, $filename);     } else      if ($filetype == "png") {       imagepng($im, $filename);      }    if($reimage == true){     $this->goreimagesize($filename,$filetype);    }else{     return true; //添加水印成功    }   } else {    if (!file_exists($this->indiapath)) {     mkdir($this->indiapath);     return false; //请重新上传    } else {     $indianame = basename($filename);     $indianame = $this->indiapath . $indianame;     if ($filetype == "jpg") {      imagejpeg($im, $indianame);     } else      if ($filetype == "gif") {       imagegif($im, $indianame);      } else       if ($filetype == "png") {        imagepng($im, $indianame);       }     if($reimage == true){      $this->goreimagesize($indianame,$filetype);      echo $indianame;     }else{      return true; //添加水印成功     }    }   }  }  function goreimagesize($filename, $filetype) {   if (!file_exists($filename)) {    return false; //要生成缩略图的图片不存在   } else {    if ($filetype == 'jpg') {     $reimage = imagecreatefromjpeg($filename);    }    elseif ($filetype == 'png') {     $reimage = imagecreatefrompng($filename);    } else     if ($filetype == 'gif') {      $reimage = imagecreatefromgif($filename);     }    if (isset ($reimage)) {     $srcimagetype = getimagesize($filename);     $srcimagetypew = $srcimagetype[0]; //得到原始图片宽度     $srcimagetypeh = $srcimagetype[1]; //得到原始图片高度     $reim = imagecreatetruecolor($this->reimagesize[1], $this->reimagesize[2]);     imagecopyresized($reim, $reimage, 0, 0, 0, 0, $this->reimagesize[1], $this->reimagesize[2], $srcimagetypew, $srcimagetypeh);     $reimagepath = $this->reimagesize[3];     if ($reimagepath != "") { //如果存放水印地址不为空      if (!file_exists($reimagepath)) {       mkdir($reimagepath);      } else {       $reimagename = basename($filename);       $reimagename = $reimagepath . "r_" . $reimagename;       if ($filetype == "gif")        imagegif($reim, $reimagename);       else        if ($filetype == "jpg")         imagejpeg($reim, $reimagename);        else         if ($filetype == "png")          imagepng($reim, $reimagename);       return true;      }     } else {      $filename = basename($filename);      if($this->indiapath == ""){       $filename = $this->filepath."r_" . $filename;      }else{       $filename = $this->indiapath."r_" . $filename;      }      if ($filetype == "gif")       imagegif($reim, $filename);      else       if ($filetype == "jpg")        imagejpeg($reim, $filename);       else        if ($filetype == "png")         imagepng($reim, $filename);      return true;     }    }   }  } } if ($_post["submit"]) {  $file = $_files['uploadfile'];  $upfile = new upfile();  echo $upfile->uploadfile($file); } ?>        
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号