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 什么是PEAR?
Mar 19 PHP
PHP 递归效率分析
Nov 24 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
May 10 PHP
PHP代码实现爬虫记录――超管用
Jul 31 PHP
php5.4传引用时报错问题分析
Jan 22 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
Mar 01 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
php实现微信扫码自动登陆与注册功能
Sep 22 PHP
Yii框架中sphinx索引配置方法解析
Oct 18 PHP
php_pdo 预处理语句详解
Nov 21 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
Oct 10 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函数代码
2013/08/29 PHP
php取整函数ceil,floo,round的用法及介绍
2013/08/31 PHP
PHP7 标准库修改
2021/03/09 PHP
js确定对象类型方法
2012/03/30 Javascript
IE6-IE9不支持table.innerHTML的解决方法分享
2012/09/14 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
javascript简单判断输入内容是否合法的方法
2016/05/11 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
JS实现带阴历的日历功能详解
2019/01/24 Javascript
vue实现动态显示与隐藏底部导航的方法分析
2019/02/11 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
Vue组件间通信 Vuex的用法解析
2019/08/05 Javascript
如何在Node和浏览器控制台中打印彩色文字
2020/01/09 Javascript
微信小程序实现加入购物车滑动轨迹
2020/11/18 Javascript
[17:45]DOTA2 HEROES教学视频教你分分钟做大人-军团指挥官
2014/06/11 DOTA
python 安装virtualenv和virtualenvwrapper的方法
2017/01/13 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
Python中使用gflags实例及原理解析
2019/12/13 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
Pytorch中实现只导入部分模型参数的方式
2020/01/02 Python
python excel多行合并的方法
2020/12/09 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
AmazeUI导航的示例代码
2020/08/14 HTML / CSS
世界著名的顶级牛排:Omaha Steak(奥马哈牛排)
2016/09/20 全球购物
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
宿舍打麻将检讨书
2014/01/24 职场文书
项目建议书格式
2014/03/12 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
天下第一关导游词
2015/02/06 职场文书
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle
python函数的两种嵌套方法使用
2022/04/02 Python