我正在尝试访问 Apache 的访问日志并实时跟踪带宽使用情况。
正如我们所知,Apache 会记录对服务器的每个请求,并且日志文件可能高达几千兆字节,因此 PHP 很难对日志文件进行短语处理。
假设我为用户提供带有特殊 URL 前缀的下载链接。
有没有办法只记录那些下载链接?如果是这样,我可以使用多日志将这些数据记录到另一个日志文件中。多日志
Apache config 用来%u
表示 URL,有没有办法过滤它?
让php创建日志文件,当人们点击链接时,php可以添加到日志文件并输出要下载的文件。
<?php
/*Logging Proccess*/
$file = "Log.txt";
$to_be_logged = file_get_contents($file);
$to_be_logged .= /*Insert what you want to log like ip address or sumthing*/$_SERVER['REMOTE_ADDR']."\n";
file_put_contents($file, $to_be_logged);
/*Download Script*/
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=filetobedownloaded.rar");
?>
把它放在一个名为 download.php 或其他东西的文件中,然后在它所在的文件旁边添加一个名为 Log.txt 的文件这应该可以工作......