Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Kevyt ja kätevä kävijälaskuri

Sivun loppuun

drinn [15.06.2002 13:03:50]

#

Ohjeet laskurin asentamiseen:

1: Tallenna ensimmäinen koodinpätkä haluamaasi paikkaan.

2: Tee tyhjä kavijalaskuri.txt tiedosto, ja upi nettiin ja chmoodaa se 777:lla. Yleensä Cute FTP:ssä CHMod toiminnon löydät kun klikkaat tiedostoa oikealla hiiren korvalla ja sieltä etsit ja ruksaat kaikki ne Exceute, Write ja Readit, ja tulee 777.

3: Lisää rivi include("kavijalaskuri.php"); sivulle, jonka kävijät pitää laskea.

Huom! Muista uppia index.htm (missä laskuri sijaitsee) tiedosto samaan aikaan kuin kavijalaskuri.txt (ei toki ole pakollista)

kavijalaskuri.php

<?php
$tiedosto="kavijalaskuri.txt";
  if(!file_exists($tiedosto)) {
    $kahva=fopen($tiedosto,"w+");
    $laskuri=1;
    fwrite($kahva,$laskuri);
    fclose($kahva);
}
$kahva=fopen($tiedosto,"r");
$laskuri=fread($kahva, filesize($tiedosto));
  fclose($kahva);
$kahva=fopen($tiedosto,"w+");
  if(!$c) {
    $laskuri=$laskuri+1;
    echo "Sivuillani on käyty <b>$laskuri</b> kertaa<br>";
}
  fwrite($kahva,$laskuri);
  fclose($kahva);
?>

Esimerkki käytöstä

<html>
<head>
<title>Kävijälaskurin malli</title>
<style type="text/css">
a { color: black; text-decoration: none; }
a:link { color: black; text-decoration: none; }
a:visited { color: black; text-decoration: none; }
a:active { color: black; text-decoration: none; }
a:hover { color: red; text-decoration: none; }
.font { font-family: Verdana; font-size: 9px; font-color: black }
</style>
</head>

<body>
<font class="font">
<?php
include("kavijalaskuri.php");
?>
Copyright 2002 <b><a href="http://www.paasivaara.com">Paasivaara.com</a></b>
</font>
</body>
</html>

drinn [16.06.2002 17:09:01]

#

Jooh.. jos ongelmia tulee, pistä messua irkissä (nick: drinn, @ Quakenet & IRCNet) tai sähköpostin kautta. :)

thefox [16.06.2002 17:12:14]

#

Kevyt ja kätevä =)

tArzAn [16.06.2002 21:05:33]

#

Tuo ei lukitse tiedostoa joten enpä käyttäisi. Ja chmod 777 ei ole kovin hyvä idea.

Plafe [17.06.2002 16:17:58]

#

Aivan, tiedosto kannattaa lukita aina, kun siihen kirjoitetaan. Ja CHMOD 666 riittää ihan hyvin...

Evolius [07.10.2002 19:11:56]

#

H0h0 drinn :DDD
varmaa ite tehny ton??? :D
Joskus sanonoit irkissä et vaa kopioit muitten scriptei ja silleee :D

jeve [26.01.2003 00:25:19]

#

HAHAH!! mureakuhassa ihan sama vinkki! et ees viittiny vähä muuttaa.. ei helvetti

Tohveli [11.05.2003 10:13:48]

#

Itse käytän tuota juuri nyt.. kun sain eilen php-tuen niin että pääsen alkuun. muuten hyvä mut 777 oikat ei oo hyvä idea...

Tohveli [11.05.2003 10:13:52]

#

Itse käytän tuota juuri nyt.. kun sain eilen php-tuen niin että pääsen alkuun. muuten hyvä mut 777 oikat ei oo hyvä idea...

Matti Kaijomaa [30.10.2003 13:25:19]

#

Ehh... Sama hoituu näin:

<?php
$file = file("laskuri.dat");
$count = $file[0];
$count++;
$file = fopen ("laskuri.dat", "w");
flock ($file,2);
fwrite ($file, $count);
flock ($file,3);
fclose($file);
echo "Kävijöitä: $count";
?>

Bagard [07.02.2004 12:54:00]

#

Voisko joku tohon äkkiä väsätä vielä semmosen että laskisi vain uniikit kävijät? Itselläni on ollut vähän ongelmia sen toteuttamisessa.

stere [16.02.2004 13:07:51]

#

ei baga-

Daiz [09.11.2004 14:33:21]

#

Mitä muuten on nuo uniikit kävijät?

kafka [10.02.2005 00:52:31]

#

Tässä olisi koodi joka laskee vain uniikit kävijät:

<?PHP
	#LASKURI by:DrKafka
	$file="kavijalaskuri.txt";
	IF(!IS_WRITABLE($file)){DIE("Tiedostolla ".$file." ei ole kirjoitus oikeuksia!");}
	$ip=EXPLODE(".",GETENV("REMOTE_ADDR"));
	$ip=$ip[0].'.'.$ip[1].'.'.$ip[2];
	$f=FILE($file);
	$s=true;
	FOR($i=0;$i<COUNT($f);$i++)IF($ip==TRIM($f[$i])){$s=false;BREAK;}
	IF($s==true){$fp=FOPEN($file, "a");FLOCK($fp,2);FWRITE($fp,$ip."\r\n");FCLOSE($fp);}
	$c=COUNT(FILE($file));
	echo 'Sivuillasi on käynyt <B>'.$c.'</B> uniikkia käyttäjää!';
?>

aWW [26.02.2005 20:21:50]

#

Vähän parannettu versio:

<?php
$tiedosto="kavijalaskuri.txt";
  if(!file_exists($tiedosto)) {
    $kahva=fopen($tiedosto,"w+");
    $laskuri=1;
    fwrite($kahva,$laskuri);
    fclose($kahva);
} else {
    // Luodaan tiedosto "kavijalaskuri.txt" ja avataan se
    $kahva=fopen($tiedosto,"x+");
    $laskuri=1;
    fwrite($kahva,$laskuri);
    fclose($kahva);
}
$kahva=fopen($tiedosto,"r");
$laskuri=fread($kahva, filesize($tiedosto));
  fclose($kahva);
$kahva=fopen($tiedosto,"w+");
  if(!$c) {
    $laskuri=$laskuri+1;
    echo "Sivuillani on käyty <b>$laskuri</b> kertaa<br>";
}
  fwrite($kahva,$laskuri);
  fclose($kahva);
?>

nikkenakkerton [09.06.2005 23:48:53]

#

sanoisin, että toimivin laskuri on kafkan uniikki kävijälaskuri.

progo [12.06.2006 12:52:15]

#

Kafkalla on hyvä laskuri. Mutta ihan tohon oikeaankin niin mieluummin ne 640-oikat ja chown apache:apache niin sekin asia on vähän varmempi. Tämä tietty siis vain jos sellaiseen on mahdollisuus.

Nessu Maakonni [19.04.2007 21:38:39]

#

Minusta 660 riittää. 640 ei others pysty kirjottaa.

Vasta_alkaja [24.11.2007 01:14:48]

#

Ihan varteenotettava tuo kävijälaskurisi, olen monesti miettinyt miten semmoinen tehtäisiin ja tuon sinun pohjaltasi kasasin tämän..

<?php
    # Täysin käyttövapaa versio. 24.11.2007 / Vasta_alkaja

    # Tiedostojen sijainnit
    $file_location="ipaddress.txt";
    $file_location_two="all.txt";

    # Tarkistetaan selaimen ip-osoite
    $ipAddress= $_SERVER['REMOTE_ADDR'];

    $file = file($file_location);

    $ei_loydetty = true;

    for($i=0; $i<COUNT($file); $i++)

    if($ipAddress==TRIM($file[$i]))
    {
        echo 'Mukavaa, että tulit käymään sivuillamme uudelleen <br />';
        $ei_loydetty = false;

        $fl2 = fopen($file_location_two, "a+");
        fwrite($fl2, '1' ."\r\n");

        break;
    }

    if($ei_loydetty == true)
    {
        # Jos tiedostoa ei ole vielä olemassa, luodaan se.
        $fl = fopen($file_location, "a+");

        fwrite($fl,$ipAddress."\r\n");
        fclose($file_location);
    }

    $calculate = count(file($file_location));
    $calculate2 = count(file($file_location_two));

    echo 'Sivuillamme vieraillut <b>'. $calculate .'</b> uniikkia käyttäjää!<br/>';
    echo 'Sivuillamme on ladattu <b>'. $calculate2 .'</b>  käyttäjää!';

?>

Dude [21.12.2007 22:38:40]

#

Tein oman laskurin:

<?php
$filu=fopen("laskuri","r");
$laskuri=fread($filu,filesize("laskuri"));
fclose($filu);
echo "<p>Sivuja on ladattu <b>".++$laskuri."</b> kertaa.</p>";
$filu=fopen("laskuri","w+");
fwrite($filu,$laskuri);
fclose($filu);
?>

Vasta_alkaja [15.01.2008 08:46:36]

#

Uniikit taisi jääda tuosta pois

Sakuf [21.09.2010 22:21:02]

#

kafka kirjoitti:

Tässä olisi koodi joka laskee vain uniikit kävijät:

<?PHP
	#LASKURI by:DrKafka
	$file="kavijalaskuri.txt";
	IF(!IS_WRITABLE($file)){DIE("Tiedostolla ".$file." ei ole kirjoitus oikeuksia!");}
	$ip=EXPLODE(".",GETENV("REMOTE_ADDR"));
	$ip=$ip[0].'.'.$ip[1].'.'.$ip[2].'.'.$ip[3];
	$f=FILE($file);
	$s=true;
	FOR($i=0;$i<COUNT($f);$i++)IF($ip==TRIM($f[$i])){$s=false;BREAK;}
	IF($s==true){$fp=FOPEN($file, "a");FLOCK($fp,2);FWRITE($fp,$ip."\r\n");FCLOSE($fp);}
	$c=COUNT(FILE($file));
	echo 'Sivuillasi on käynyt <B>'.$c.'</B> uniikkia käyttäjää!';
?>

Yllä tallentaa koko IP:n eikä aluetta. En tiedä oliko tarkoituksella jätetty vai vahingossa. Hyvä koodi kuitenkin.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta