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 相关文章推荐
PHP4和PHP5共存于一系统
Nov 17 PHP
PHP的变量总结 新手推荐
Apr 18 PHP
php报表之jpgraph柱状图实例代码
Aug 22 PHP
PHP 图片上传代码
Sep 13 PHP
php对二维数组进行排序的简单实例
Dec 19 PHP
PHP中Session和Cookie是如何操作的
Oct 10 PHP
php微信公众平台开发之微信群发信息
Sep 13 PHP
php封装的验证码工具类完整实例
Oct 19 PHP
PHP+Ajax无刷新带进度条图片上传示例
Feb 08 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
Aug 21 PHP
PHP+Ajax实现的检测用户名功能简单示例
Feb 12 PHP
详解PHP神奇又有用的Trait
Mar 25 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 禁止页面缓存输出
2009/01/07 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
2012/02/19 PHP
php无限遍历目录示例
2014/02/21 PHP
php防止表单重复提交实例讲解
2019/02/11 PHP
jQuery 开天辟地入门篇一
2009/12/09 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
jquery实现界面无刷新加载登陆注册
2016/07/30 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
原生js实现图片放大缩小计时器效果
2017/01/20 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
input 标签实现输入框带提示文字效果(两种方法)
2017/10/09 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
Python实现把xml或xsl转换为html格式
2015/04/08 Python
如何用python整理附件
2018/05/13 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
2018/07/18 Python
pandas 将索引值相加的方法
2018/11/15 Python
Python3 导入上级目录中的模块实例
2019/02/16 Python
python使用requests模块实现爬取电影天堂最新电影信息
2019/04/03 Python
python hough变换检测直线的实现方法
2019/07/12 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
海外淘书首选:AbeBooks
2017/07/31 全球购物
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
捷克时尚网上商店:OTTO
2018/03/15 全球购物
介绍一下SQL Server的全文索引
2013/08/15 面试题
电子装配专业毕业生求职信
2014/04/23 职场文书
分居协议书范本
2014/11/03 职场文书
个人学习总结范文
2015/02/15 职场文书
培训通知
2015/04/17 职场文书
企业宣传语大全
2015/07/13 职场文书