ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法

 更新时间:2014年10月30日 10:32:04   投稿:shichen2014  
这篇文章主要介绍了ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法,是项目开发中非常实用的技巧,需要的朋友可以参考下

本文实例讲述了ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法。分享给大家供大家参考。具体如下:

一、问题描述:

ThinkPHP做文字水印 ,今天做一个电子请帖,就把祝福语贴到图片上面,发现一直报错是取不到图片类型,比如gif,jpg等,并提示call an undefined function exif_imagetype()。

二、解决方法:

出现这个错误就是php.in 配置问题,打开即可:打开扩展 extension=php_exif.dll 如果再不行就把extension=php_mbstring.dll ,放到extension=php_exif.dll前边
注意:extension=php_exif.dll 扩展要打开
类文件:wptext_class.php代码如下:

复制代码 代码如下:
<?php
/*
PHP添加文字水印类 V1.0
作者:Yu Tiedun
邮箱:
修改日期:2010-03-07
支持图片格式:gif, jpg, png
水印的位置自己根据需要调整
如能修改得更好,请发一份给我
*/
class WaterPrint
{
//类开始
    public $text, $color, $size, $font, $angle, $px, $py, $im;
//要添加的文字
public function GetWpText($text)
{
   $this->text = $text;
}
//添加文字的颜色
public function GetFtColor($color)
{
   $this->color = $color;
}
//添加文字的字体
public function GetFtType($font)
{
   $this->font = $font;
}
 
//添加文字的大小
public function GetFtSize($size)
{
   $this->size = $size;
}
//文字旋转的角度
public function GetTtAngle($angle)
{
   $this->angle = $angle;
}
//添加文字的位置
public function GetTtPosit()
{
   $this->px = 10;
   $this->py = imagesy($this->im) - 20;
}
//添加文字水印
public function AddWpText($pict)
{
   $ext = exif_imagetype($pict);
    switch ($ext) {
   case 1:
   $picext = "gif";
    $this->im = imagecreatefromgif($pict);
    break;
   case 2:
   $picext = "jpg";
    $this->im = imagecreatefromjpeg($pict);
    break;
   case 3:
   $picext = "png";
    $this->im = imagecreatefrompng($pict);
    break;
   default:
   $this->Errmsg("不支持的文件格式!");
    break;
   }
   //$this->picext = $picext;
   $this->GetTtPosit();
   $im   = $this->im;
   $size = $this->size;
   $angle= $this->angle;
   $px   = $this->px;
   $py   = $this->py;
   $color= $this->color;
   $font = $this->font;
   $text = $this->text;
   $color= imagecolorallocate($im, 255, 0, 0);
   imagettftext($im, $size, $angle, $px, $py, $color, $font, $text);
   switch ($picext) {
   case "gif":
   imagegif($im, $pict);
    break;
   case "jpg":
   imagejpeg($im, $pict, 100);
    break;
   case "png":
      imagealphablending($im, false);
        imagesavealpha($im, true);
       imagepng($im, $pict);
    break;
   }
   imagedestroy($im);
}
//错误信息提示
public function Errmsg($msg)
{
    echo "<script language='javascript'>alert('".$msg."');</script>";
}
//类结束
}
?>

调用页面:index.php代码如下:

复制代码 代码如下:
<?php
header("Content-type: text/html; charset=gbk");
require("wptext_class.php");
$pict = "images/button2.png"; //目标图片
//$text = "XP/Vista/Win7"; //要添加的文字
$text = "文字水印测试";
$text = iconv("gb2312","utf-8",$text); //防止中文乱码
$size = 20; //文字大小
$font = "c:/windows/fonts/arial.ttf"; //字体
$angle = 0; //旋转角度,逆时针
$wptext = new WaterPrint();
$wptext->GetWpText($text);
$wptext->GetFtSize($size);
$wptext->GetFtType($font);
$wptext->GetTtAngle($angle);
$wptext->AddWpText($pict);
$wptext = null;
?>
<a href="images/button2.png" target="_blank">查看结果</a>

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

相关文章

  • 解决php extension 加载顺序问题

    解决php extension 加载顺序问题

    这篇文章主要介绍了解决php extension 加载顺序问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 在CentOS系统上从零开始搭建WordPress博客的全流程记录

    在CentOS系统上从零开始搭建WordPress博客的全流程记录

    这篇文章主要介绍了在CentOS系统中从零开始搭建WordPress站点的全流程记录,使用最大众的Apache服务器和MySQL数据库环境,需要的朋友可以参考下
    2016-04-04
  • PHP-FPM之Chroot执行环境详解

    PHP-FPM之Chroot执行环境详解

    在PHP-FPM中设立chroot,有很好的隔离作用,提高系统安全性,但是要想建立一个合理的PHP-FPM Chroot环境难度有点大,比用debootstrap等工具建立还要麻烦,这篇文章就详细介绍了PHP-FPM之Chroot执行环境,需要的朋友可以参考下。
    2015-08-08
  • 值得分享的php+ajax实时聊天室

    值得分享的php+ajax实时聊天室

    这篇文章主要介绍了值得分享的php+ajax实时聊天室,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • PHP微信公众号自动发送红包API

    PHP微信公众号自动发送红包API

    微信发红包已经成为当今比较流行的祝福形式,大家都学着使用微信发红包,这篇文章主要为大家详细介绍了PHP微信公众号自动发送红包API,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • 美图秀秀web开放平台--PHP流式上传和表单上传示例分享

    美图秀秀web开放平台--PHP流式上传和表单上传示例分享

    最近需要开发一个头像上传的功能,找了很多都需要授权的,后来找到了美图秀秀,功能非常好用。
    2014-06-06
  • php AJAX实例根据邮编自动完成地址信息

    php AJAX实例根据邮编自动完成地址信息

    当客户输入一个POSTCODE后,zipcode.PHP就接收到它,然后进行从数据表中取出对应的资料,再按一定的格式返回给客户端(此处是以 | 分隔)。最后客户端接收返回的资料,显示在页面上。
    2008-11-11
  • 基于PHP实现商品成交时发送短信功能

    基于PHP实现商品成交时发送短信功能

    这篇文章主要介绍了基于PHP实现商品成交时发送短信的功能,代码简单易懂,需要的朋友可以参考下
    2016-05-05
  • wampserver改变默认网站目录的办法

    wampserver改变默认网站目录的办法

    大家在做php项目时,很多项目都会用到wampserver。WampServe集成了Apache、MySQL、PHP、phpmyadmin,支持Apache的mod_rewrite,PHP扩展、Apache模块只需要在菜单“开启/关闭”上点点就搞定,省去了修改配置文件的麻烦,这里就简写成wamp。
    2015-08-08
  • PHP程序员必须清楚的问题汇总

    PHP程序员必须清楚的问题汇总

    这篇文章主要介绍了PHP程序员必须清楚的问题汇总,需要的朋友可以参考下
    2014-12-12

最新评论