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 相关文章推荐
ZF等常用php框架中存在的问题
Jan 10 PHP
浅谈PHP强制类型转换,慎用!
Jun 06 PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 PHP
php实现随机生成易于记忆的密码
Jun 19 PHP
php表单提交实例讲解
Nov 12 PHP
PHP使用PHPexcel导入导出数据的方法
Nov 14 PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 PHP
详解PHP的Yii框架中的Controller控制器
Mar 29 PHP
深入理解PHP之源码目录结构与功能说明
Jun 01 PHP
thinkphp 手机号和用户名同时登录
Jan 20 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
Mar 15 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 Socket技术
2013/08/02 PHP
curl实现站外采集的方法和技巧
2014/01/31 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
php转换上传word文件为PDF的方法【基于COM组件】
2019/06/10 PHP
javascript 对象的定义方法
2007/01/10 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
jquery简单插件制作(fn.extend)完整实例
2016/05/24 Javascript
javascript实现复选框全选或反选
2017/02/04 Javascript
JavaScript中使用参数个数实现重载功能
2017/09/01 Javascript
Angular中管道操作符(|)的使用方法
2017/12/15 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
微信小程序在线客服自动回复功能(基于node)
2019/07/03 Javascript
ElementUI radio组件选中小改造
2019/08/12 Javascript
vue界面发送表情的实现代码
2020/09/11 Javascript
python的re模块应用实例
2014/09/26 Python
Python 实现链表实例代码
2017/04/07 Python
单链表反转python实现代码示例
2018/02/08 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
Python Pexpect库的简单使用方法
2019/01/29 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
Python的条件锁与事件共享详解
2019/09/12 Python
python实现根据文件格式分类
2019/10/31 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
2020/05/10 Python
用python实现名片管理系统
2020/06/18 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
2021/01/28 Python
canvas实现二维码和图片合成的示例代码
2018/08/01 HTML / CSS
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
商铺租赁意向书
2014/04/01 职场文书
三方协议书范本
2014/04/22 职场文书
大明湖导游词
2015/02/03 职场文书
大学生个人总结范文
2015/02/15 职场文书
安全保证书格式
2015/02/28 职场文书
新店开业策划方案怎么书写?
2019/07/05 职场文书
在SQL Server中使用 Try Catch 处理异常的示例详解
2022/07/15 SQL Server