(1)在这个练习中将会使用GD函数imagescreatefromgif。这个函数所在的GD版本,要求早于1.6版或新于2.0.28版,在http://www.php.net/imagecreatefromgif中有详细的文档解释。在前面已经学习过如何启用GD2模块,但是如果还没有启用,这里就再快速复习一下。为了启用GD2,需要编辑php.ini配置文件,删除下列行前面的分号以取消注释。然后,还需要重新启动Apache服务器。
extension=php_gd2.dll
(2)在seophp文件夹中创建文件夹images,将下载的本书代码中fortune_cookie.gif文件复制到文件夹images。
(3)现在需要一个字体来将文本写入到幸运甜饼中。出于版权考虑,我们不能提供学体,但是您自己应该在机器里有大量的字体可以选择。
在windows机器,可以在隐藏的\windows\fonts文件夹找到字体,或者在[控制面板]中通过[字体]图标找到。在seophp文件夹中创建文件夹fonts,然后将comic.ttf复制到刚才创建的文件夹fonts中。
(4)在seophp文件夹中创建fortune_cookip.php,键入如下代码:
<?php
class fortunes
{
var $_forrunes=array(
"Jaimie Sirovich will become your\r\nfavorite author.",
"You will recommend this book to\r\nall your friends.",
"Tomorrow you will make \r\nyour first million.",
"You will read AJAX and PHP:\r\nBuilding Responsive web Applications.");
var $_image_resource;
function makefortune()
{
$text=$this->_fortunes[rand(0,sizeof($this->_fortunes)-1)];
$this->_images_resource=imagescreatefromgif('images/fortune_cookie.gif');
imagettftext($this->_image_resource,9,0,135,64,imagecolorallocate($this->_image_resoure,0,0,0),'fonts/comic.ttf',$text);
imagegif($this->_image_resource);
}
}
header('Content-type:image/gif');
$f=new fortunes();
$f->makefortune();
?>
(5)加载http://seophp.example.com/fortune_cookie.php。
(6)为了用作链接诱饵,幸运甜饼还需要很容易放到其他页面中。假设您的访问者有个页面为linkbait.html,而他或她希望将你的幸运甜饼添加到这个页面。现在在seophp文件夹中创建文件linkbait.html,然后键入如下代码。代码中的突出显示部分,是需要提供给访问者以便他们使用这个幸运甜饼的:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" http://www.w3.org/TR/xhtml11.dtd>
<html>
<head>
<title>Professional Search Engine Optimization with PHP:LinkBait Example</title>
</head>
<body>
<h1>Professional Search Engine Optimization with PHP:LinkBait Example</h1>
<a href=http://seophp.example.com><img src=http://seophp.example.com/fortune_cookie.php border=0></a>
<br>Get your free<a href=http://seophp.example.com>cookies at cookie Ogre's Warehouse</a>
</body></html>
(7)在添加了突出显示的代码之后,访问者就可以加载http://seophp.example.com/linkbait.html来管理他或她的新的幸运甜饼了。
基本的思想十分简单。你需要告诉访问者,如果他们将下面代码粘贴到HTML页面中,就可以得到免费的幸运甜饼:
<a href=http://seophp.example.com><img src=http://seophp.example.com/fortune_cookie.php></a>
<br>Get your free <a href=http://seophp.example.com>cookies at cookie Ogre's Warehouse</a>
这段代码是多么有趣的事情,它不但分发了幸运甜饼,而且包含了一个链接指向你的WEB站点。有少数用户会删掉空上链接,但是大分部人将会把链接留在图像中。你为访问者提供了免费的服务,同时获得了好处。
幸运甜饼的代码生成器本身十分简单。它只是从数组中取得随机的文本,然后显示在fortune_cookie.gif的甜饼图像文件上。如果具有更多条目,就可以考虑使用数据库。但是为了简单起见,在此还是将可能的幸运短语放置在数组中:
class fortunes
{
var $_forrunes=array(
"Jaimie Sirovich will become your\r\nfavorite author.",
"You will recommend this book to\r\nall your friends.",
"Tomorrow you will make \r\nyour first million.",
"You will read AJAX and PHP:\r\nBuilding Responsive web Applications.");
将文本覆盖在.gif图像模板上的代码也十分简单。只要使用GD2库中的imagecreatefromgif,imagettftext和imagegif函数,就可以生成并输出幸运甜饼图像:
function makefortune()
{
$text=$this->_fortunes[rand(0,sizeof($this->_fortunes)-1)];
$this->_images_resource=imagescreatefromgif('images/fortune_cookie.gif');
imagettftext($this->_image_resource,9,0,135,64,imagecolorallocate($this->_image_resoure,0,0,0),'fonts/comic.ttf',$text);
imagegif($this->_image_resource);
}
请记住这只是链接诱饵的一个假想示例。由于我们不可能代替读者去考虑各种各样的链接诱饵,因此如果你的确有什么好点子,但是却无法自己实现的话,建议可以使用一些服务。如eLance,来找到一个自由职业的编程人员。对简单的项目,他们将会完成得很快的。
链接诱饵并不是一个新的概念,它只是一个形象的术语,描绘了一种有效的搜索引擎市场营销技术。虽然有些搜索引擎营销人员避开这个术语,认为它只是viral marketing的同义词,但是我们认为这个术语和概念是相当有用的。有意地创建链接诱饵可以提供很高的投资回报率,即使只学会如何识别链接诱饵也是很有用的,因为它可以提醒搜索引擎营销人员提供钩子给类似社会书签这种服务,以帮助形成诱饵。