Läs in hela filen med file() och gå igenom den rad för rad.
------------------
- Swey
Projekt wF PHP
7 svar · 316 visningar · startad av Matti
Hm.. jag har gjort en liten statistik sida eller vad man nu ska kalla det för på min hemsida som skriver alla $http_referers till en textfil.. nu är det ju så att ofta har referrern samma adress (om besökaren kommer från tex. altavista) och då blir det ju onödigt många likadan textrader.. så jag undrar om det på något sätt skulle gå att göra så att raderna i textfilen skulle se ut typ så här:
http://www.blabla.com/test.html -- 50
http://www.yahoo.se/links.html -- 30
http://www.webforum.nu/inlagg.html --12
..där siffran skulle motsvara antalet besökare från den specifika adressen. Jag har inte tillgång till någon databas.. går det att göra med en textfil?
------------------
Startin' the new revolution
[Redigerat av Matti den 26 jul 2000]
Läs in hela filen med file() och gå igenom den rad för rad.
------------------
- Swey
Projekt wF PHP
Ungefär så här. Resten får du skriva själv ;)
// Läs in
$file = file("matti.txt");
// Ändra
foreach( $file as $line)
{
if($line = $adress)
...
}
// Om den inte finns
$file[] = "$adress - 1";
// Spara
$fp = fopen("matti.txt", "w");
foreach( $file as $line)
fwrite($fp, $line);
fclose($fp);
------------------
- Swey
Projekt wF PHP
Så här kanske :)
<?
// counter.php3 ::: [url="http://www.nic-sys.se"]www.nic-sys.se[/url]
$countfile = "sökväg/count.txt";
$url=$HTTP_REFERER;
$written=FALSE;
if (file_exists($countfile)){
$temparray = file($countfile);
for($index = 0; $index < count($temparray); $index++){
$entry = explode(" ",$temparray[$index]);
if(!strcmp($entry[0],$url)){
$entry[2]++;
$tempentry = $entry;
$temparray[$index] = implode($entry," ");
$fp = fopen($countfile,"w");
for($index = 0; $index < count($temparray); $index++)
fputs($fp,$temparray[$index]);
$written = TRUE;
fclose($fp);
}
}
if($written == FALSE){
$entry = "$url -- 1 <br>\n";
$fp = fopen($countfile,"a");
fputs($fp,$entry);
fclose($fp);
}
}else{
exit("Fel: $countfile saknas!");
}
?>
Testsida:
<html>
<body>
Count file:<br>
<? include "counter.php3" ?>
<? include "count.txt" ?>
</body>
</html>
Filen count.txt skall vara tom och skrivbar!
/nicclas @ http://www.nic-sys.se
[Redigerat av nicclas den 26 jul 2000]