以前做過一個招聘網站這樣我們需要讓別有采集不到我們客戶的手機號碼與郵箱地址了,所以我們會利用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>";
}
?>