2013-04-30 110 views
1

编辑:跟踪图像的外部网站/交通加载外部网站

我要算多少次网页加载每它加载时间,我想更新的图像(这是一个jpg文件)来显示页面加载的次数。我知道如何更新图像并将其转换为JPG格式,但我想弄清楚的是如何“倾听”页面加载。这个页面是我的服务器的外部...我无法访问它...只是一个随机的网页。

我应该使用什么方法?

这就是我希望的:

<?php 
    if (webpagevisited('www.stackoverflow.com')) //this would be the function 
     { 
     increase_hit_counter_by_one(); 
     } 

我已经创建了功能increase_hit_counter_by_one()。它使用mySQL数据库来更新值并过滤重复的IP地址。什么方法最适合创建webpagevisiited()函数?

+2

告诉你什么看起来像一个良好的开端。通常会做的是将计数保存在文本文件或数据库中。有两种方式的教程 – 2013-04-30 08:51:25

+0

哦,我非常熟悉所有这些,并筛选IP地址等等等等......我只是省略了我的摘录中的任何不重要的代码以实现更友好的可读性:D – 2013-04-30 08:53:55

+0

正如@Pekka웃写道的,所有问题应该已经解决了。如何寻找您自己的解决方案可能更成为一个问题。就像你的问题一样,你用很多词来形容简单的事情。很可能你只需要改善你的研究,这就是全部。尽管在这个网站上很难帮助你。 Stackoverflow更适合具体的编程问题。 – 2013-04-30 08:54:38

回答

0

编辑 - 编辑完答案并发表评论后,您可以使用一个简单的.htaccess(我假设您使用启用了mod重写的apache)重写来修改URL。

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^image_counter.jpg$ image.php [L] 
</IfModule> 

假设的.htaccess是根web目录与image.php脚本一起,现在你可以使用<img src="http://www.yourwebsite.com/image_conter.jpg" alt="" />和应htaccess的URL重写你的脚本。检查Apache网站以获取更多关于htaccess规则的信息。

使用$_SERVER['HTTP_REFERER'],然后您可以针对您计算的特定URL进行测试。

最后根据需要提供图片,例如。

header('Content-Type: image/jpeg'); //or other correct mime type 
//output image you created 

您将需要存储在数据库或类似的存储选项“计数”能够坚持count变量,它会每次都重设页面加载以DOM正确地指出。

我会推荐作为最简单的选择是让你的图像src作为你的php文件,例如。

<img src="image.php" alt="Hit Counter" /> 

然后在您的image.php文件,您可以检索已存储的计数,可能使用MySQL和一个增加它并保存新的计数。然后,只要你喜欢,你可以在你的图片中显示你的数量。

事情是这样的,例如:

<?php 
//get saved count here as $count 
$count++; 
//save new count 
//create image using count and present it. 
?> 
+0

所示建议感谢您的回答:)我熟悉这一点...我现在意识到我可能以非常难以理解的方式提出了我的问题。我想简单地将图像保存为jpg文件,以便任何网页上的任何其他人都可以使用该图像。我想跟踪图像的使用时间和使用位置,而不需要使用图像的人员使用任何脚本或.php文件。 – 2013-04-30 09:35:44

+0

我根据您更新的问题和评论修改了答案。希望能帮助到你! – 2013-04-30 09:53:06

+0

谢谢,这似乎最接近回答这个问题。我会对你提到的命令做进一步的研究。 – 2013-04-30 10:07:20

1

我认为你最好的选择是$referrer = $_SERVER['HTTP_REFERER'];

这应该告诉你什么网页加载图像,但也可以很容易通过CURL甚至假头来欺骗。

此外,计数不会存储在该页面上,因为每次加载图像时都会重置$count

您将需要某种数据库来存储/更新匹配。