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 防止单引号,双引号在接受页面转义
Jul 10 PHP
php urlencode()与urldecode()函数字符编码原理详解
Dec 06 PHP
PHP json_encode中文乱码问题的解决办法
Sep 09 PHP
php实现window平台的checkdnsrr函数
May 27 PHP
php异常处理方法实例汇总
Jun 24 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
Dec 14 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
Dec 29 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
May 08 PHP
PHP chunk_split()函数讲解
Feb 12 PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
May 28 PHP
php 使用mpdf实现指定字段配置字体样式的方法
Jul 29 PHP
Laravel框架查询构造器 CURD操作示例
Sep 04 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
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
2014/04/24 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
PHPExcel导出2003和2007的excel文档功能示例
2017/01/04 PHP
window.open()弹出居中的窗口
2007/02/01 Javascript
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
2010/05/06 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
js 幻灯片的实现
2011/12/06 Javascript
jquery插件validate验证的小例子
2013/05/08 Javascript
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
javascript 实现键盘上下左右功能的小例子
2013/09/15 Javascript
JavaScript基础知识学习笔记
2014/12/02 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
javascript实现数独解法
2015/03/14 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
2015/09/01 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
JavaScript鼠标特效大全
2016/09/13 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
详解AngularJS ng-class样式切换
2017/06/27 Javascript
微信小程序-getUserInfo回调的实例详解
2017/10/27 Javascript
JS点击动态添加标签、删除指定标签的代码
2018/04/18 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
详解单页面路由工程使用微信分享及二次分享解决方案
2019/02/22 Javascript
Element Backtop回到顶部的具体使用
2020/07/27 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
用Python进行行为驱动开发的入门教程
2015/04/23 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
2016/09/19 Python
简单实现python数独游戏
2018/03/30 Python
Python3实现购物车功能
2018/04/18 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
Pytorch中实现只导入部分模型参数的方式
2020/01/02 Python
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
工作表扬信
2015/01/17 职场文书
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏