PHP文字转图片功能原理与实现方法分析


Posted in PHP onAugust 31, 2017

本文实例讲述了PHP文字转图片功能。分享给大家供大家参考,具体如下:

这项功能主要用于对邮箱地址、手机等可能被网络爬虫抓取的重要信息的处理。将文字转化为图片绝对是个好注意。验证码的基本生成原理也与此差不多,只是对再对文字转化为图片的生成过程再复杂化,让扫描机器无法识别。php的文字转图片很简单,先在php的安装目录打开php.ini,找到extension=php_gd2.dll,将其前面的引号去掉,打开php的gd2扩展库,就能直接使用php的关键字,将文字转图片。

PHP文字转图片功能原理与实现方法分析

目录结构如下,img_generator.php是文字转图片所处理的php,index.html是呈现给用户的页面。

PHP文字转图片功能原理与实现方法分析

index.html的代码非常非常简单,搞个img标签,里面的src就写img_generator.php,然后后面带一个text参数,向img_generator.php发送一个Get请求,img_generator.php这个页面本质是一个根据参数,所产生的一张图片。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>图片测试</title>
</head>
<body>
<img src="img_generator.php?text=abc@test.com">
</body>
</html>

img_generator.php的代码如下,通过$_REQUEST["text"];拿到index.html中的img标签传递过来的text阐述,之后用一系列的php关键字,也就是固有的方法生成的图片即可。

<?php
  $text=$_REQUEST["text"];//显示的文字
  $size=12;//字体大小
  $font="c:/windows/fonts/SIMHEI.TTF";//字体类型,这里为黑体,具体请在windows/fonts文件夹中,找相应的font文件
  $img=imagecreate(500,24);//创建一个长为500高为16的空白图片
  imagecolorallocate($img,0xff,0xff,0xff);//设置图片背景颜色,这里背景颜色为#ffffff,也就是白色
  $black=imagecolorallocate($img,0x00,0x00,0x00);//设置字体颜色,这里为#000000,也就是黑色
  imagettftext($img,$size,0,0,16,$black,$font,$text);//将ttf文字写到图片中
  header('Content-Type: image/png');//发送头信息
  imagepng($img);//输出图片,输出png使用imagepng方法,输出gif使用imagegif方法
?>

实质上,与《php投票系统之增加与删除投票(管理员篇)》中的原理是一样的。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP自动更新新闻DIY
Oct 09 PHP
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
Dec 06 PHP
php动态生成JavaScript代码
Mar 09 PHP
简单的PHP留言本实例代码
May 09 PHP
php class中public,private,protected的区别以及实例分析
Jun 18 PHP
Codeigniter生成Excel文档的简单方法
Jun 12 PHP
PHP中使用循环实现的金字塔图形
Nov 08 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
WordPress中查询文章的循环Loop结构及用法分析
Dec 17 PHP
Discuz论坛密码与密保加密规则
Dec 19 PHP
php实现银联商务公众号+服务窗支付的示例代码
Oct 12 PHP
laravel如何开启跨域功能示例详解
Aug 31 #PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 #PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
Aug 31 #PHP
PHP下 Mongodb 连接远程数据库的实例代码
Aug 30 #PHP
php实现与python进行socket通信的方法示例
Aug 30 #PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 #PHP
PHP Socket网络操作类定义与用法示例
Aug 30 #PHP
You might like
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
mysql+php分页类(已测)
2008/03/31 PHP
PHP的简易冒泡法代码分享
2012/08/28 PHP
PHP中把stdClass Object转array的几个方法
2014/05/08 PHP
js 数值项目的格式化函数代码
2010/05/14 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
Javascript函数式编程简单介绍
2015/10/11 Javascript
深入浅析JavaScript面向对象和原型函数
2016/02/06 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
利用jquery制作滚动到指定位置触发动画
2016/03/26 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
2016/06/12 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
python 动态加载的实现方法
2017/12/22 Python
Python命令行解析模块详解
2018/02/01 Python
用python给自己做一款小说阅读器过程详解
2019/07/11 Python
python Pillow图像处理方法汇总
2019/10/16 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
创建市级文明单位实施方案
2014/03/01 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
酒店宣传语大全
2015/07/13 职场文书
创业计划书之闲置物品置换中心
2019/12/25 职场文书
php字符串倒叙
2021/04/01 PHP
浅谈react useEffect闭包的坑
2021/06/08 Javascript