-
PHP手机号码生成图片实例程序
以前做过一个招聘网站这样我们需要让别有采集不到我们客户的手机号码与邮箱地址了,所以我们会利用php实现从数据库读出来的手机号码与邮箱地址直接生成一张图片了,这样采集过去只能是图片并且无法识别了,下面我来给大家介绍两个实例.
PHP字符串处理-将手机号码生存图片,代码如下:
- ////电话号码转变成图片
- //$str 要显示的字串,$rand是否启用扰码
- function str_to_image($str,$w=130,$h=25,$rand=true)
- {
- //生成11位的数字图片
- Header("Content-type:image/png"); //告诉浏览器,下面的数据是图片,而不要按文字显示
- //定义图片宽高
- $nwidth=$w;
- $nheight=$h;
- //srand((double)microtime()*1000000); //取得目前时间的百万分之一秒值,以执行时的百万分之一秒当乱数种子
- $randval=$str; //11位数
- $im=@imagecreate($nwidth,$nheight) or die("Can't initialize new GD image stream"); //建立图象
- //图片色彩设置
- $background_color=imagecolorallocate($im,255,255,255); //匹配颜色
- $text_color=imagecolorallocate($im,23,14,91);
- //绘制图片边框
- imagefilledrectangle($im,0,0,$nwidth-1,$nheight-1,$background); //矩形区域着色
- imagerectangle($im,0,0,$nwidth-1,$nheight-1,$background_color); //绘制矩形
- imagestring($im,8,10,4,$randval,$text_color); //绘制横式字串
- if($rand){
- //加入干扰因素
- for($i=0;$i<260;$i++)
- {
- $randcolor=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
- imagesetpixel($im,rand()%($nwidth-5),rand()%($nheight+5),$randcolor); //点
- }
- }
- //imagestring($im,3,5,5,"A Simple Text String",$text_color);
- //imageinterlace($im,1);
- imagepng($im); //建立png图型
- imagedestroy($im); //结束图型
- }
- $str = '13087263453';
- echo str_to_image($str,$w=130,$h=25,$rand=true)
例2,代码如下:
- <?php //前面不要有空行
- $id=$_GET[id];
- include("admin/config.php");
- $sql="select * from user where id=$id";
- $data=mysql_fetch_array(mysql_query($sql));
- $p=SBC_DBC($data[Phone],1);
- function get_str($str,$strlen=16) {
- $str=stripslashes($str);
- for($i=0;$i<$strlen;$i++)
- if(ord(substr($str,$i,1))>0xa0) $j++;
- if($j%2!=0) $strlen++;
- $tmp_str=substr($str,0,$strlen);
- return $tmp_str;
- }
- if($p<>''){
- //生成5位的数字图片
- Header("Content-type:image/png"); //告诉浏览器,下面的数据是图片,而不要按文字显示
- //定义图片宽高
- $nwidth=120;
- $nheight=25;
- $im=@imagecreate($nwidth,$nheight) or die("Can't initialize new GD image stream"); //建立图象
- //图片色彩设置
- $background_color=imagecolorallocate($im,255,255,255); //匹配颜色
- $text_color=imagecolorallocate($im,23,14,91);
- //绘制图片边框
- imagefilledrectangle($im,0,0,$nwidth-1,$nheight-1,$background); //矩形区域着色
- imagerectangle($im,0,0,$nwidth-1,$nheight-1,$background_color); //绘制矩形
- //srand((double)microtime()*1000000); //取得目前时间的百万分之一秒值,以执行时的百万分之一秒当乱数种子
- //$randval=rand();
- $randval=$p; //5位数
- imagestring($im,8,10,2,$randval,$text_color); //绘制横式字串
- //加入干扰因素
- //for($i=0;$i<478;$i++)
- //{
- //$randcolor=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
- //imagesetpixel($im,rand()%100,rand()%30,$randcolor); //点
- //}
- //imagestring($im,3,5,5,"A Simple Text String",$text_color);
- //imageinterlace($im,1);
- imagepng($im); //建立png图型
- imagedestroy($im); //结束图型
- }else{
- echo "<font size=2>商家未输入电话号码</font>";
- }
- ?>
出处:http://www.phpfensi.com/php/20140708/3658.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式