PHP将文字生成透明背景图片代码

来自:互联网
时间:2018-08-26
阅读:

本文讲的是用php将生成透明背景图片png的代码,主要目的是为了一些企业网站的电话不想被搜索引擎收录,所以用到图片的形式显示,不能每次更改电话号码很不方便,所以就研究一下,创建一个文件夹如:slimg,然后建一个index.php的文件,将下面的代码放入到文件中:

<?php $url=$_SERVER["HTTP_REFERER"];$str=str_replace("http://","",$url);$str=str_replace("https://","",$url);$strdomAIn = explode("/",$str);$domain=$strdomain[0];if($domain==''){?><?php 
    //代理IP直接退出
        empty($_SERVER['HTTP_VIA']) or exit('Access Denied');
        //防止快速刷新
        session_start();
        $seconds = '60'; //时间段[秒]
        $refresh = '3'; //刷新次数
        //设置监控变量
        $cur_time = time();
        if(isset($_SESSION['last_time'])){
                $_SESSION['refresh_times'] += 1;
        }else{
                $_SESSION['refresh_times'] = 1;
                $_SESSION['last_time'] = $cur_time;
        }
        //处理监控结果
        if($cur_time - $_SESSION['last_time'] < $seconds){
                if($_SESSION['refresh_times'] >= $refresh){
                        //跳转至攻击者服务器地址
                        header(sprintf('Location:%s', 'http://127.0.0.1'));
                        exit('Access Denied');
                }
        }else{
                $_SESSION['refresh_times'] = 0;
                $_SESSION['last_time'] = $cur_time;
        }echo '<p style="color:#f00;">非法链接,禁止访问!!!</p>';exit;}$text =$_GET['sl'];$size=11;//文字大小$font="msyh.ttf";//字体$slimg = imagecreatetruecolor(100,20);//建立一个画板,尺寸可以自行修改$bg = imagecolorallocatealpha($slimg,0,0,0,127);     $color = imagecolorallocate($slimg,255,0,0); //字体拾色   imagealphablending($slimg, false);//关闭混合模式,以便透明颜色能覆盖原画板imagefill($slimg,0,0,$bg);//填充imagefttext($slimg,$size,0,1,16,$color,$font,$text);    imagesavealpha($slimg,true);header("content-type:image/png");imagepng($slimg);imagedestroy($slimg);  ?>

调用方式:

<img src="你的网址/slimg/?sl=需要显示的文字" />

注意事项:

1、必须下载字体命名为msyh.ttf放入slimg文件夹中;

2、imagecreatetruecolor(100,20)为尺寸,100px*20px

返回顶部
顶部