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 相关文章推荐
一键删除顽固的空文件夹 软件下载
Jan 26 PHP
PHP 生成的XML以FLASH获取为乱码终极解决
Aug 07 PHP
PHP的SQL注入过程分析
Jan 06 PHP
使用PHP编写的SVN类
Jul 18 PHP
php中如何防止表单的重复提交
Aug 02 PHP
浅析php与数据库代码开发规范
Aug 08 PHP
Yii学习总结之数据访问对象 (DAO)
Feb 22 PHP
分享ThinkPHP3.2中关联查询解决思路
Sep 20 PHP
ThinkPHP5框架实现简单的批量查询功能示例
Jun 07 PHP
PHP程序员学习使用Swoole的理由
Jun 24 PHP
php 中self,this的区别和操作方法实例分析
Nov 04 PHP
PHP实现页面静态化深入讲解
Mar 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编程开发“虚拟域名”系统
2006/10/09 PHP
在字符串指定位置插入一段字符串的php代码
2010/02/16 PHP
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
2010/10/22 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
2015/08/08 PHP
PHP实现的支付宝支付功能示例
2019/03/26 PHP
JS继承用法实例分析
2015/02/05 Javascript
JQuery节点元素属性操作方法
2015/06/11 Javascript
jquery模拟进度条实现方法
2015/08/03 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
2016/06/25 Javascript
利用bootstrapValidator验证UEditor
2016/09/14 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
chosen实现省市区三级联动
2018/08/16 Javascript
element ui 表格动态列显示空白bug 修复方法
2018/09/04 Javascript
微信小程序实现搜索历史功能
2020/03/26 Javascript
基于JavaScript 实现拖放功能
2019/09/12 Javascript
在Express中提供静态文件的实现方法
2019/10/17 Javascript
vue商城中商品“筛选器”功能的实现代码
2020/07/01 Javascript
为什么JavaScript中0.1 + 0.2 != 0.3
2020/12/03 Javascript
利用python画一颗心的方法示例
2017/01/31 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
python使用requests库爬取拉勾网招聘信息的实现
2020/11/20 Python
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
C语言编程练习
2012/04/02 面试题
美丽乡村建设实施方案
2014/03/23 职场文书
元旦趣味活动方案
2014/08/22 职场文书
关于车尾的标语大全
2015/08/11 职场文书
Pytorch实现图像识别之数字识别(附详细注释)
2021/05/11 Python
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
2021/06/15 Javascript
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL