IP记录目录中的所有图像

时间:2015-11-03 23:50:47

标签: php image logging ip

假设我有一个包含多个图像的目录,我想在一个包含IP,日期,时间和文件名(图像)的大文件中记录所有IP。我该怎么做?下面是我已经用于在特定页面上记录IP的一些代码,所以如果你可以修改它,我可以保留这种格式,我将不胜感激。

<?php
$ip = $_SERVER["HTTP_CF_CONNECTING_IP"];
$file = "visitors.log";
$logfile = fopen($file, "a");
$line = $ip . " | " . date("m.d.Y | H:i:s");
fwrite($logfile, $line . "\n");
fclose($logfile);
?>

注意:我必须使用HTTP_CF_CONNECTING_IP而不是REMOTE_ADDR,因为我在Cloudflare上。

1 个答案:

答案 0 :(得分:1)

htaccess捕获所有图像请求:

RewriteEngine On
RewriteBase /
RewriteRule (.*)\.(gif|jpg|png)$ image.php?image=$1.$2 [R,L]

这假设您的image.php位于根文件夹中。

要在image.php文件中获取所请求的文件:

$image = isset($_GET['image'])? $_GET['image'] : null;

现在,您可以使用请求的文件名添加日志记录,并将真实文件返回给访问者。