Top
Phpuniverset logo
 

INDHOLD

Forside

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


Propelcom

ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Grafisk counter - (kun)php

Forside Kategori PHP/MySQL Grafisk counter - (kun)php




 

Koden til grafen er taget fra siden www.qualitycodes.com/tutorial.php?articleid=20
og kan blive fundet nederst.

###################################################
Start på test_counter.php
###################################################

<?php 
####Writen by Niels - start####
//Give basic values
$year = date("Y"); //Write the current year in variable $year

$path = pathinfo(dirname);
$root = $pathinfo;

//What files to open?
$visits1 = file($root. "" . $year . "/1.txt"); //puts the count in a variable
$visits2 = file($root. "" . $year . "/2.txt"); //puts the count in a variable
$visits3 = file($root. "" . $year . "/3.txt"); //puts the count in a variable
$visits4 = file($root. "" . $year . "/4.txt"); //puts the count in a variable
$visits5 = file($root. "" . $year . "/5.txt"); //puts the count in a variable
$visits6 = file($root. "" . $year . "/6.txt"); //puts the count in a variable
$visits7 = file($root. "" . $year . "/7.txt"); //puts the count in a variable
$visits8 = file($root. "" . $year . "/8.txt"); //puts the count in a variable
$visits9 = file($root. "" . $year . "/9.txt"); //puts the count in a variable
$visits10 = file($root. "" . $year . "/10.txt"); //puts the count in a variable
$visits11 = file($root. "" . $year . "/11.txt"); //puts the count in a variable
$visits12 = file($root. "" . $year . "/12.txt"); //puts the count in a variable


//Short the variable
$a = $visits1[0];
$b = $visits2[0];
$c = $visits3[0];
$d = $visits4[0];
$e = $visits5[0];
$f = $visits6[0];
$g = $visits7[0];
$h = $visits8[0];
$i = $visits9[0];
$j = $visits10[0];
$k = $visits11[0];
$l = $visits12[0];


####Written by Niels - end####


//FOLLOWING CAN BE FOUND ON http://www.qualitycodes.com/tutorial.php?articleid=20


# ------- The graph values in the form of associative array
$values=array(
"Jan" => $a,
"Feb" => $b,
"Mar" => $c,
"Apr" => $d,
"May" => $e,
"Jun" => $f,
"Jul" => $g,
"Aug" => $h,
"Sep" => $i,
"Oct" => $j,
"Nov" => $k,
"Dec" => $l
);


$img_width = 450;
$img_height = 300;
$margins = 20;


# ---- Find the size of graph by substracting the size of borders
$graph_width = $img_width - $margins * 2;
$graph_height = $img_height - $margins * 2;
$img = imagecreate($img_width,$img_height);


$bar_width = 20;
$total_bars = count($values);
$gap = ($graph_width- $total_bars * $bar_width ) / ($total_bars +1);


# ------- Define Colors ----------------
$bar_color = imagecolorallocate($img,0,64,128);
$background_color = imagecolorallocate($img,240,240,255);
$border_color = imagecolorallocate($img,200,200,200);
$line_color = imagecolorallocate($img,220,220,220);

# ------ Create the border around the graph ------

imagefilledrectangle($img,1,1,$img_width-2,$img_height-2,$border_color);
imagefilledrectangle($img,$margins,$margins,$img_width-1-$margins,$img_height-1-$margins,$background_color);


# ------- Max value is required to adjust the scale -------
$max_value = max($values);
$ratio = $graph_height/$max_value;


# -------- Create scale and draw horizontal lines --------
$horizontal_lines = 20;
$horizontal_gap = $graph_height/$horizontal_lines;

for($i=1;$i<=$horizontal_lines;$i++){
$y = $img_height - $margins - $horizontal_gap * $i ;
imageline($img,$margins,$y,$img_width-$margins,$y,$line_color);
$v = intval($horizontal_gap * $i /$ratio);
imagestring($img,0,5,$y-5,$v,$bar_color);

}


# ----------- Draw the bars here ------
for($i=0;$i< $total_bars; $i++){
# ------ Extract key and value pair from the current pointer position
list($key,$value)=each($values);
$x1 = $margins + $gap + $i * ($gap+$bar_width) ;
$x2 = $x1 + $bar_width;
$y1 = $margins +$graph_height- intval($value * $ratio) ;
$y2 = $img_height-$margins;
imagestring($img,0,$x1+3,$y1-10,$value,$bar_color);
imagestring($img,0,$x1+3,$img_height-15,$key,$bar_color);
imagefilledrectangle($img,$x1,$y1,$x2,$y2,$bar_color);
}
header("Content-type:image/png");
imagepng($img);
?>

###################################################
slut på test_counter.php
###################################################

Nu hvor du har oprettet filen, lad være med at teste den. Vi er nemligt ikke færdige endnu.

Opret en undermappe med årstallet, f.eks. 2009, i samme mappe som test_counter.php så test_counter.php ligger et niveau højere oppe. (Der skal hvert år oprettes en mappe med årstallet.)


Opret tolv filer i mappen 2009. Disse skal hedde 1 .txt , 2.txt etc. (sidste mappe skal hedde 12.txt).


Lad os nu gå igang med add_counter.php
#############################################
######### add_counter.php - start ###########
#####Taget fra http://www.freescripts.com/text-counter.php#####
<?php

//Give basic values
$year = date("Y"); //Write the current year in variable $year
$month = date("n");

########CHANGE THIS VALUE##############
$root = ""; //Write where the file is saved eksample: /home/mydomain/www/counter/ DON'T WRITE THE FILE NAME


$counter_file = ($root . "" .$year."/".$month.".txt"); //file where count is stored
$visits = file($counter_file); //puts the count in a variable
//Don't count the vistets of the admin
$visits[0]++; //add 1 to the counter file
$fp = fopen($counter_file , "w"); //open the file for write
fputs($fp , "$visits[0]"); //write the new value to the file

fclose($fp);

?>


######### add_counter.php - end ###########
###########################################

Her bliver der tællet per loadinger. Ønsker du en mere fair counter, kan bruge http://www.phpuniverset.dk/show_artikels.phtml?ArtikelID=21
og stykke noget sammen.


Før scriptet kan bruges, skal der tilføjes en værdi til en af txt filerne.



Skrevet af: Niels | Dato : 2009-12-21 15:1 | Læst : 3748 gange | Print

Din kommentar og karakter til artiklen

Din karakter:

1

2

3

4

5

6

7

8

9

10

Kommentar:

Log ind for at give en karakter og kommentar.

Kommentarer og karakterer til artiklen

 


10/10

"Jeg bruger selv dette script med en række tilføjelser. Jeg bruger selv en "if" funktion, som undgår at tælle min egne besøg, jeg har dog glemt at slette den tilhørende kommentar: "//Don't count the vistets of the admin""

Niels | 07.01.2010, 15:14

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

FORUM

Nyeste forum indlæg :

PHP/Opencart import module

Opencart/php import modul hjælp

Lækkert kontor / kontorfællesskab i Helsingør

Opdatering af PHP

Vurdering af hjemmeside

Nyeste forum svar :

Joomla som CMS

Android programmering

Grafik problemer

Prissammenligningsside

Jeg yder fremover ikke support!

 

MEDLEM

LOGIN ER IKKE MULIGT, MENS VI LAVER NYT SITE
 

NYHEDSBREV

Nyhedsbrev

Tilmeld dig vores nyhedsbrev og modtag nyheder om nye scripts og tips samt om mange andre nye tiltag på Phpuniverset.dk


 

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk - android talk & help

Bund