假设我有一个包含多个图像的目录,我想在一个包含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上。
答案 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;
现在,您可以使用请求的文件名添加日志记录,并将真实文件返回给访问者。