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 getimagesize 上传图片的长度和宽度检测代码
May 15 PHP
PHP 一个随机字符串生成代码
May 26 PHP
php 中文字符串首字母的获取函数分享
Nov 04 PHP
php求两个目录的相对路径示例(php获取相对路径)
Mar 27 PHP
php中fgetcsv()函数用法实例
Nov 28 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 PHP
php使用curl打开https网站的方法
Jun 17 PHP
PHP开发中常用的十个代码样例
Feb 02 PHP
orm获取关联表里的属性值
Apr 17 PHP
Laravle eloquent 多对多模型关联实例详解
Nov 22 PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 PHP
PHP xpath()函数讲解
Feb 11 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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
自动跳转中英文页面
2006/10/09 PHP
深入分析php之面向对象
2013/05/15 PHP
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
2016/06/21 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
angularjs自定义过滤器demo示例
2019/08/24 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
Python 字典与字符串的互转实例
2017/01/13 Python
python编程羊车门问题代码示例
2017/10/25 Python
Python下使用Scrapy爬取网页内容的实例
2018/05/21 Python
Python 图像对比度增强的几种方法(小结)
2019/09/25 Python
Python使用pdb调试代码的技巧
2020/05/03 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
基于HTML5的WebGL实现json和echarts图表展现在同一个界面
2017/10/26 HTML / CSS
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
打架检讨书500字
2014/01/29 职场文书
西门豹教学反思
2014/02/04 职场文书
火车来了教学反思
2014/02/11 职场文书
函授生自我鉴定
2014/03/25 职场文书
捐款倡议书格式范文
2014/05/14 职场文书
化工实习心得体会
2014/09/09 职场文书
感谢信怎么写
2015/01/21 职场文书
行政撤诉申请书
2015/05/18 职场文书
元旦主持词开场白
2015/05/29 职场文书
导游词之南京莫愁湖公园
2019/11/13 职场文书
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript
特别篇动画《总之就是非常可爱 ~制服~》PV公开,2022年夏季播出
2022/04/04 日漫
Python sklearn分类决策树方法详解
2022/09/23 Python