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程序--记数器
Oct 09 PHP
缓存技术详谈―php
Dec 14 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
Dec 29 PHP
Yii学习总结之安装配置
Feb 22 PHP
php使用MySQL保存session会话的方法
Jun 18 PHP
php遍历解析xml字符串的方法
May 05 PHP
PHP表单数据写入MySQL数据库的代码
May 31 PHP
session 加入redis的实现代码
Jul 15 PHP
php使用array_chunk函数将一个数组分割成多个数组
Dec 05 PHP
PHP利用递归函数实现无限级分类的方法
Mar 22 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
May 31 PHP
PHP实现统计代码行数小工具
Sep 19 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中上传大体积文件时需要的设置
2006/10/09 PHP
用ODBC的分页显示
2006/10/09 PHP
php5 pdo新改动加载注意事项
2008/09/11 PHP
PHP面向对象分析设计的61条军规小结
2010/07/17 PHP
php正则表达式(regar expression)
2011/09/10 PHP
Yii实现多按钮保存与提交的方法
2014/12/03 PHP
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
PHP数据库操作二:memcache用法分析
2017/08/16 PHP
javascript 设置文本框中焦点的位置
2009/11/20 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
vue单个组件实现无限层级多选菜单功能
2018/04/10 Javascript
基于jQuery.i18n实现web前端的国际化
2018/05/04 jQuery
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
Element Badge标记的使用方法
2020/07/27 Javascript
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
Django自定义认证方式用法示例
2017/06/23 Python
在python3环境下的Django中使用MySQL数据库的实例
2017/08/29 Python
浅析python实现scrapy定时执行爬虫
2018/03/04 Python
Python面向对象基础入门之设置对象属性
2018/12/11 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
python3下载抖音视频的完整代码
2019/06/05 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
3种适用于Python的疯狂秘密武器及原因解析
2020/04/29 Python
python如何修改文件时间属性
2021/02/05 Python
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
2016/03/23 面试题
师范毕业生求职自荐信
2013/09/25 职场文书
求职信的要素有哪些呢
2013/12/26 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
清明节随笔
2015/08/15 职场文书
孕妇病假条怎么写
2015/08/17 职场文书
八年级英语教学反思
2016/02/15 职场文书