Heyz mensen,
ik heb een download counter geschreven en hierdoor zou er in een simpel tekstbestand elke keer op een nieuwe regel een IP moeten worden opgeslagen, en als er met dat IP al gedownload is zou er dan een '2' of een '3' (afhankelijk van hoe vaak er gedownload is met dat IP) voor moeten komen te staan..
Het probleem is alleen dat de 1e regel telkens wordt overschreven met het laatste IP dat gedownload heeft... Maar hoe vaak het is gedownload wordt wel telkens 1 meer...
ik heb een download counter geschreven en hierdoor zou er in een simpel tekstbestand elke keer op een nieuwe regel een IP moeten worden opgeslagen, en als er met dat IP al gedownload is zou er dan een '2' of een '3' (afhankelijk van hoe vaak er gedownload is met dat IP) voor moeten komen te staan..
Het probleem is alleen dat de 1e regel telkens wordt overschreven met het laatste IP dat gedownload heeft... Maar hoe vaak het is gedownload wordt wel telkens 1 meer...
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| <?php $expire= 1; $logfile= "logbestand.log"; $ip= getenv('REMOTE_ADDR'); $visits=0; $badhit= false; $now= time(); $ips = array(array()); if (file_exists($logfile)){ if ($loggedips=file($logfile)){ $visits=trim($loggedips[0]); for ($i=1; $i< count($loggedips); $i++){ $loggedips[$i]=trim($loggedips[$i]); $ips[$i] = explode('||', $loggedips[$i]); if (($ips[$i][0]==$ip) && ($now-$ips[$i][1]< $expire)) $badhit= true; } if ($badhit) echo $visits; else{ $visits++; $fp= fopen($logfile, 'w'); fputs($fp,"$visits\n"); for ($i=1; $i< count($loggedips); $i++){ if ($now-$ips[$i][1] < $expire) fputs($fp, $ips[$i][0]."||".$ips[$i][1]."\n"); } fputs($fp, "$ip||$now\n"); fclose($fp); echo $visits; } } }else echo "Logfile bestaat niet..."; ?> |