百度贴吧带链接的图片制作

July 6, 2010 | tags | views
Comments 0

之前再站长网看到一篇如何在百度贴吧贴图片加超链接的文章,没太在意,后来回想起来,的确是一个很不错的“手段”现在转给大家。此文给出了asp,php的代码。
-
实现方法及代码:

1.建立名称为test.jpg的文件夹,记得是文件夹

2.在该文件夹下放一个尺寸比较大的图片如570*383,确保该图片在帖到百度帖吧后会缩略显示

3.在该文件夹上放置一个index.php或index.asp文件,文件内容如下:

PHP版代码:


以下为引用的内容:
<?php
if($_SERVER['HTTP_REFERER']!=''){
@header("Content-type:image/jpeg");
echo file_get_contents("1.jpg");//第2步中放在test.jpg文件夹下的图片名称,亦即真正显示的图片
}
else{
@header("location:upload/201007061052160615.jpg"
If UCase(Cstr(Request.ServerVariables("HTTP_REFERER")))<>"" Then
Response.Redirect Pic_Url
Else
Response.Redirect "Http://www.baidu.com"
End if
%>
 


4.在百度帖吧中帖图:upload/201007061052162718.jpg

在百度帖吧中图处帖上上网址后图片会正常显示,点击图片时会跳转到设定的页面,当然上复制上网址直接粘贴到浏览器或在QQ上发给好友,访问时者会跳转到你的网站。

原理分析:

百度中贴图尺寸较大时会以缩略图显示,点击缩略图可查看原图,但缩略图不是直接链向原图的,而是在js代码弹出的(弹出代码在http://tieba.baidu.com/f?kz=273127757 (9楼为PHP版,10楼为ASP版)

扩展应用:

事实上既然index.php或index.asp中输出的是直正的图片,那么我们完全可以实现图片随机显示的效果,如下ASP代码实现了两个图片的随机显示:


以下为引用的内容:

<%
PIC_Url="1.jpg2.jpg"

TheChar=""'分隔字符
ipy=split(PIC_Url,TheChar)
ipy_S=ubound(ipy)

if inStr(PIC_Url,TheChar)>0 then
Randomize
Pic_Url=ipy(int(ipy_S*rnd))
end if

If UCase(Cstr(Request.ServerVariables("HTTP_REFERER")))<>"" Then
Response.Redirect Pic_Url
Else
Response.Redirect "Http://www.baidu.com"
End if
%>
 


同样我们也可以结合PHP应用,利用PHP实时生成动态图片,如下面代码即可读取自己博客最新文章标题生成图片:


以下为引用的内容:

<?php
include("../Config.php");

$font = "mingliu.ttc";//字体(把字体文件放在同目录里)    
$size = 8.5; //字体大小(pt)
header("content-type:image/gif");   
$nimage=imagecreatetruecolor(228,80);// 新建一个图片宽 228 高 80 像素    
$black=imagecolorallocate($nimage,115,115,115); // 取得文字颜色, RGB    
$simage =imagecreatefromgif('bg.gif'); // 读取背景图片(自己做一个,比如我这个就是自己PS的)   
imagecopy($nimage,$simage,0,0,0,0,228,80); // 把背景图片 copy 到我们要输出的图片上

$i=46; 
$sqlstr="select * from art_content order by id desc limit 2";//读取数据库中标题信息的语句
$result=mysql_query($sqlstr);
while($row=mysql_fetch_array($result)){
$text1 = "落叶人生:".$row["title"];
$text1 = iconv("gb2312","utf-8",$text1);//一定要转换成UTF-8,否则中文乱码  
imagettftext($nimage,$size,0,2,$i,$black,$font,$text1);//输出第一行文字,坐标:2,46
$i=$i+20;
}
 
imagegif($nimage); // 输出 GIF 图片内容    
imagedestroy($nimage);    
imagedestroy($simage); // 关闭之前使用的图片缓冲 
?> 
 
 


    相关文章:



发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。