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中GET变量的使用
Oct 09 PHP
生成卡号php代码
Apr 09 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
Nov 27 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
一漂亮的PHP图片验证码实例
Mar 21 PHP
Windows中使用计划任务自动执行PHP程序实例
May 09 PHP
支持中文、字母、数字的PHP验证码
May 04 PHP
PHP合并数组+号和array_merge的区别
Jun 25 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
Jul 09 PHP
php倒计时出现-0情况的解决方法
Jul 28 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
Nov 07 PHP
Laravel如何使用Redis共享Session
Feb 23 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执行速率优化技巧小结
2008/03/15 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
自制PHP框架之路由与控制器
2017/05/07 PHP
PHP获取二叉树镜像的方法
2018/01/17 PHP
用javascript getComputedStyle获取和设置style的原理
2008/10/10 Javascript
javascript parseInt 大改造
2009/09/27 Javascript
JavaScript DOM 学习第二章 编辑文本
2010/02/19 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
2014/10/17 Javascript
php常见的页面跳转方法汇总
2015/04/15 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
2016/01/23 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
2016/02/17 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
2016/10/17 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
Vue 2.X的状态管理vuex记录详解
2017/03/23 Javascript
移动端触摸滑动插件swiper使用方法详解
2017/08/11 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
这15个Vue指令,让你的项目开发爽到爆
2019/10/11 Javascript
vue+element 实现商城主题开发的示例代码
2020/03/26 Javascript
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
python操作MySQL数据库具体方法
2013/10/28 Python
python根据距离和时长计算配速示例
2014/02/16 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
Python3 虚拟开发环境搭建过程(图文详解)
2020/01/06 Python
python3利用Axes3D库画3D模型图
2020/03/25 Python
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
专科应届生求职信
2013/11/24 职场文书
部队万能检讨书
2014/02/20 职场文书
网络工程师自荐书范文
2014/04/01 职场文书
技校毕业生自荐书
2014/05/23 职场文书
2014年妇产科工作总结
2014/12/08 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
如何制作自己的原生JavaScript路由
2021/05/05 Javascript