为外部Web发布者创建图像引用以链接到我的站点

时间:2013-01-10 22:17:10

标签: php html mysql image badge

我们正在尝试创建一个引用系统,外部网络发布商可以在其网站上的某个网页上放置一些html链接回我们网站上的特定产品页面。为了解决这个问题,我们称之为“徽章”。

一旦他们插入徽章,我们想要识别这个,然后抓住< h1>并且第一个< p>作为预告片,包含从我们的网站回到他们的网站的链接,并将所有这些内容写入我们的数据库。然后,我们的用户可以看到他们页面的标题和第一位,然后决定他们是否想看到更多。

以下是我们所做的事情(恐怕不多):

<a href="http://www.mysite.com/abc.html">
<img alt="abc" src="http://www.mysite.com/logo.gif" style="width:200px;height:100px" />       
</a>

我们计划建立一个管理页面来完成抓取&lt;的最后一部分。 H1&GT;和&lt; p为H.并将其发布到实时数据库等,我们稍后会详细说明。

然而,中间步骤(确定已经使用了这段HTML)我们不知所措。

这是我们应该通过日志文件做的事情......我甚至不知道如何开始考虑它。

从哪里开始处理这个问题的方向非常有帮助。

提前致谢!!

1 个答案:

答案 0 :(得分:2)

这是一种方法。

你给他们的HTML看起来像:

<a href="http://www.mysite.com/abc.html">
    <img alt="abc" src="http://www.mysite.com/logo.php" style="width:200px;height:100px" />       
</a>

请注意logo.php,而不是logo.gif

logo.php将存在于您的服务器上。其目的有两个:

  1. 收集有关包含<img>标记
  2. 的网页的信息
  3. 加载并输出logo.gif,以便用户按预期看到图像。
  4. 如果您将html嵌入到某个网页上,logo.php将会提供有关图像请求源自何处的信息。具体来说,$_SERVER['HTTP_REFERER']将为您提供img标记所在页面的完整URL。然后由您决定如何处理和存储该信息。

    我不知道你想要做什么,但是一个非常简化的logo.php看起来像这样:

    <?php
    $url = $_SERVER['HTTP_REFERER'];
    
    // do something with $url... 
    // it will be something like "http://theirsite.com/wherever/they/pasted/the.html"
    
    // now output the logo image...
    header("Content-Type: image/gif");
    echo file_get_contents("/path/to/logo.gif");
    

    请记住每次任何人使用图片标记点击其网页时,都会运行logo.php。因此,不要意外地在您的网站上创建10000个链接回到他们的网站:)