0

我正在尝试访问 Apache 的访问日志并实时跟踪带宽使用情况。

正如我们所知,Apache 会记录对服务器的每个请求,并且日志文件可能高达几千兆字节,因此 PHP 很难对日志文件进行短语处理。

假设我为用户提供带有特殊 URL 前缀的下载链接。

有没有办法只记录那些下载链接?如果是这样,我可以使用多日志将这些数据记录到另一个日志文件中。多日志

Apache config 用来%u表示 URL,有没有办法过滤它?

4

1 回答 1

1

让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 的文件这应该可以工作......

于 2013-11-09T05:35:35.267 回答