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 相关文章推荐
PHPnow安装服务[apache_pn]失败的问题的解决方法
Sep 10 PHP
PHP 第一节 php简介
Apr 28 PHP
基于PHP编程注意事项的小结
Apr 27 PHP
使用PHP获取当前url路径的函数以及服务器变量
Jun 29 PHP
php清除和销毁session的方法分析
Mar 19 PHP
java模拟PHP的pack和unpack类
Apr 13 PHP
php微信开发之百度天气预报
Nov 18 PHP
详谈PHP中的密码安全性Password Hashing
Feb 04 PHP
php批量删除操作(数据访问)
May 23 PHP
php单元测试phpunit入门实例教程
Nov 17 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
Jun 05 PHP
php利用array_search与array_column实现二维数组查找
Jul 08 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 抓取网页图片并且另存为的实现代码
2010/03/24 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
PHP引用返回用法示例
2016/05/28 PHP
javascript编程起步(第四课)
2007/01/10 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
nodeJS代码实现计算交社保是否合适
2015/03/09 NodeJs
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
jQuery原理系列-常用Dom操作详解
2016/06/07 Javascript
js变量提升深入理解
2016/09/16 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
bootstrap里bootstrap动态加载下拉框的实例讲解
2018/08/10 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
解决layer弹出层中表单不起作用的问题
2019/09/09 Javascript
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
详解Python3中字符串中的数字提取方法
2017/01/14 Python
flask框架路由常用定义方式总结
2019/07/23 Python
python实现读取excel文件中所有sheet操作示例
2019/08/09 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
2019/08/18 Python
Python中 Global和Nonlocal的用法详解
2020/01/20 Python
keras 读取多标签图像数据方式
2020/06/12 Python
Python logging模块handlers用法详解
2020/08/14 Python
实例讲解HTML5的meta标签的一些应用
2015/12/08 HTML / CSS
德购商城:德国进口直邮商城
2017/06/13 全球购物
英国领先的杂志订阅网站:Magazine.co.uk
2018/01/25 全球购物
保时捷设计:Porsche Design
2019/03/30 全球购物
英国奢侈品牌时尚购物平台:Farfetch(支持中文)
2020/02/18 全球购物
幼儿园六一儿童节活动方案
2014/08/26 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
甲午大海战观后感
2015/06/02 职场文书
追悼会悼词大全
2015/06/23 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL
Python可视化神器pyecharts绘制水球图
2022/07/07 Python