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 相关文章推荐
我的论坛源代码(七)
Oct 09 PHP
一个简洁的多级别论坛
Oct 09 PHP
浅析PHP水印技术
Feb 14 PHP
set_include_path和get_include_path使用及注意事项
Feb 02 PHP
PHP开发框架kohana3 自定义路由设置示例
Jul 14 PHP
PHP实现采集中国天气网未来7天天气
Oct 15 PHP
php实现只保留mysql中最新1000条记录
Jun 18 PHP
PHP程序员不应该忽略的3点
Oct 09 PHP
PHP实现的多文件上传类及用法示例
May 06 PHP
yii的入口文件index.php中为什么会有这两句
Aug 04 PHP
Zend Framework框架实现类似Google搜索分页效果
Nov 25 PHP
Laravel中获取IP的真实地理位置
Apr 01 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
给初学者的30条PHP最佳实践(荒野无灯)
2011/08/02 PHP
PHP构造函数与析构函数用法示例
2016/09/28 PHP
php简单统计中文个数的方法
2016/09/30 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
2017/01/11 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
js跨域问题之跨域iframe自适应大小实现代码
2010/07/17 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
在React中如何优雅的处理事件响应详解
2017/07/24 Javascript
JavaScript深拷贝和浅拷贝概念与用法实例分析
2018/06/07 Javascript
Vue项目中使用WebUploader实现文件上传的方法
2019/07/21 Javascript
5分钟教你用nodeJS手写一个mock数据服务器的方法
2019/09/10 NodeJs
js实现简易计算器功能
2019/10/18 Javascript
[00:56]跨越时空加入战场 全新祈求者身心“失落奇艺侍祭”展示
2019/07/20 DOTA
自己使用总结Python程序代码片段
2015/06/02 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
pycharm 更改创建文件默认路径的操作
2020/02/15 Python
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
高二政治教学反思
2014/02/01 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
法学专业毕业生求职信
2014/06/12 职场文书
学校节能减排方案
2014/06/13 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
国际贸易实务实训报告
2014/11/05 职场文书
小兵张嘎观后感300字
2015/06/03 职场文书
法定授权委托证明书
2015/06/18 职场文书
Python 快速验证代理IP是否有效的方法实现
2021/07/15 Python
JavaScript组合继承详解
2021/11/07 Javascript
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android