Resultatet af dit arbejde er en tæller, der viser, hvor mange gange din hjemmeside er blevet besøgt. (OBS: Det er en lidt upræcis tæller, da den også tæller hver gang man reloader siden, men alligevel). Tallene bliver vist med grafik. Du kan se det færdige resultat her: taeller_ex.php.
Det vil sige, du skal bruge 10 grafik-filer med tallene fra 0 til 9. Desuden skal du bruge en tekst-fil, der gemmer antallet af besøg. Tallet i tekst-filen starter på 0.
<?
$plustal = 1;
$gif_tal = 0;
$fil = fopen("tal.txt", "r");
$antal = fgets($fil, 1096);
fclose($fil);
$nyt_tal = $antal + $plustal;
$fil = fopen("tal.txt", "w");
fwrite($fil, $nyt_tal);
fclose($fil);
$laengde = strlen($nyt_tal);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>Side med tæller </title>
<meta name="Generator" content="Stone's WebWriter 4">
</head>
<body>
<h1>Min hjemmeside</h1>
<p>Her kommer din normale side, med din egen tekst
og dine egne billeder.</p>
<p>Så mange gange er hjemmesiden blevet hentet:
<?
for($i = 0; $i<$laengde; $i++)
{
$gif_tal = substr($nyt_tal, $i, 1);
echo "<img src=\"$gif_tal.gif\" border=\"0\">";
}
?>
</p>
</body>
</html>
<? $plustal = 1; $gif_tal = 0;Tegnet <? viser, at nu starter noget PHP-kode (tilsvarende: ?> slutter PHP-koden.
$fil = fopen("tal.txt", "r");
$antal = fgets($fil, 1096);
fclose($fil);
Kommandoen fopen() bruges til at åbne en fil. Her åbnes tal.txt og "r" betyder at der kun læses fra filen ("read"). Resultatet gemmes i variablen $fil.$nyt_tal = $antal + $plustal;Her lægger vi værdien af det tal, der blev gemt i variablen $antal sammen med værdien, der er gemt i variablen $plustal. Resultatet gemmes i variablen $nyt_tal. (Dette kunne godt gøres mere elegant, men på denne måde har du mulighed for at lægge f.eks. 1234 til hver gang, for at checke hvordan tælleren ser ud med store tal).
$fil = fopen("tal.txt", "w");
fwrite($fil, $nyt_tal);
fclose($fil);
Her åbner vi filen tal.txt for at kunne skrive i den ("w" = "write"). $laengde = strlen($nyt_tal); ?>Kommandoen strlen() tæller, hvor mange tegn (i dette tilfælde cifre), der er i variablen $nyt_tal. Dette skal vi bruge senere, når vi skal bruge en .gif-fil for hvert ciffer i tallet.
<html> <head><title>Side med tæller </title> <meta name="Generator" content="Stone's WebWriter 4"> </head> <body> <h1>Min hjemmeside</h1> <p>Her kommer din normale side, med din egen tekst og dine egne billeder.</p> <p>Så mange gange er hjemmesiden blevet hentet:Bare almindelige HTML-koder og tekst. Her kan du selvfølgelig skrive, hvad du har lyst.
<?
for($i = 0; $i<$laengde; $i++)
{
$gif_tal = substr($nyt_tal, $i, 1);
echo "<img src=\"$gif_tal.gif\" border=\"0\">";
}
<? = her starter PHP igen. Derefter kører vi en løkke: for()-kommandoen.
En løkke bliver gentaget så mange gange, som det angives i parentesen.
Vi starter løkken ved 0 ($i = 0), og den bliver ved så længe tallet $i er mindre end antallet af cifre i variablen $laengde ($i<$laengde), hver gang løkken er kørt igennem én gang bliver der lagt 1 til ($i++)
Mellem de to tuborg-parenteser { og }, kører løkken så.
Kommandoen substr() læser en del af en tekst. I dette tilfælde læser den ét tegn (tallet 1 tilsidst i parentesen), den læser fra vores variabel $nyt_tal og den starter ved positionen $i. (Dvs. første gang ved position 0 og læser 1 tegn, anden gang ved position 1 og læser 2 tegn osv. indtil hele tallet er læst et ciffer af gangen).
For hvert tal bruges kommandoen echo til at skrive noget på skærmen (dvs. i browseren). I dette tilfælde er det HTML-koden til et billede (skrevet med PHP-koder, så HUSK backslash og gåseøjne de rigtige steder). Hver gang løkken køres igennem hentes et gif-billede, der svarer til tallet.
?> </p> </body> </html>Derefter sluttes PHP (med ?>) og HTML-siden sluttes som sædvanlig med </body> og </html>
Du skal nu smide det hele over på serveren.
For at det kan lade sig gøre at skrive til filen tal.txt skal du ændre rettighederne til filen. Hvad det vil sige kommer jeg ikke ind på her, men sådan gør du:
Jeg går stadig ud fra at vores "eksempelbruger" har koder, der ser sådan ud:
Dennegang skal du prøve at bruge Internet Explorer til FTP-program:
ftp://solen:1234@solen.herDvs: