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 相关文章推荐
一个显示天气预报的程序
Oct 09 PHP
Smarty+QUICKFORM小小演示
Feb 25 PHP
php下判断数组中是否存在相同的值array_unique
Mar 25 PHP
PHP中根据IP地址判断城市实现城市切换或跳转代码
Sep 04 PHP
php实现可用于mysql,mssql,pg数据库操作类
Dec 13 PHP
php绘制圆形的方法
Jan 24 PHP
php将日期格式转换成xx天前的格式
Apr 16 PHP
php通过curl模拟登陆DZ论坛
May 11 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
Jun 13 PHP
php基于SQLite实现的分页功能示例
Jun 21 PHP
PHP学习笔记之session
May 06 PHP
PHP工厂模式的日常使用
Mar 20 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开发不能违背的安全规则 过滤用户输入
2011/05/01 PHP
win7安装php框架Yii的方法
2016/01/25 PHP
php封装的pdo数据库操作工具类与用法示例
2019/05/08 PHP
js读写(删除)Cookie实例详解
2013/04/17 Javascript
将Datatable转化成json发送前台实现思路
2013/09/06 Javascript
jquery 缓存问题的几个解决方法
2013/11/11 Javascript
js正则表达式中test,exec,match方法的区别说明
2014/01/29 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
2014/01/31 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
分享纯手写漂亮的表单验证
2015/11/19 Javascript
jquery判断页面网址是否有效的两种方法
2016/12/11 Javascript
JS正则表达式之非捕获分组用法实例分析
2016/12/28 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
vue.js组件vue-waterfall-easy实现瀑布流效果
2017/08/22 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
vue修改对象的属性值后页面不重新渲染的实例
2018/08/09 Javascript
jQuery扩展方法实现Form表单与Json互相转换的实例代码
2018/09/05 jQuery
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
微信小程序如何使用云开发
2019/05/17 Javascript
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
2018/01/11 Python
Python实现简单http服务器
2018/04/12 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
Django发送邮件功能实例详解
2019/09/02 Python
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
大学自我鉴定范文
2013/12/26 职场文书
元宵晚会主持词
2014/03/25 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
基于CSS3画一个iPhone
2021/04/21 HTML / CSS
python基础之函数的定义和调用
2021/10/24 Python