Scripts

Teller met afbeelding

Dit script haalt uit een door jou gekozen file hits. De PHP file dat dit doet zet dat dan ook in een afbeelding. Je moet alleen de afbeelding in een html/php file gebruiken dus nooit direct, want als deze met firefox (of sommige andere browsers) wordt bekeken komen er 2 hits bij door de preview in de adresbalk. De image zet je zo in je (wss) footer: Dat moet natuurlijk, anders kunnen de bezoekers de aantal hits niet zien en worden er ook geen hits toegevoegd. EDIT: Heb nu simpele cookie beveiliging gemaakt. De cookie vervalt na 1 dag. P.S.: dit is mijn eerste script hier :P

teller-met-afbeelding
<?
  // verander dit bestand naar jouw eigen bestandje, maak het aan, en chmod het naar 666
  $file = "hits.txt";

  // Het bestand openen en de aantal hits eruit halen
  if(!($fp = fopen($file, "r"))) die ("Kan het bestand niet openen...");
  $hits = (int) fread($fp, 30);
  fclose($fp);
  
  // Kijken of de cookie is geset, als dat zo is, moeten de hits niet verhoogt worden
  if(!isset($_COOKIE['hits_count'])) {
    // verhoogt het aantal hits met 1
    $hits++;

    // open bestand en schrijf het nieuwe aantal hits erin
    $fp = fopen($file, "w");
    fwrite($fp, $hits);
    fclose($fp);
	
	// En nu een cookie aanmaken waarin staat, dat je de site al bezoekt hebt. De cookie vervalt de volgende dag om 1 uur 's ochtends dag.
    setcookie('hits_count', 'true', time() + 86400);
  }

  // breedte en hoogte van de afbeelding, breedte is lengte van de hits
  $width = strlen($hits) * 7;
  $height = 15;

  // Maak de afbeelding
  $txtimg = imagecreate($width, $height);

  // set de cleur van de tekst en de achtergrondkleur
  imagecolorallocate($txtimg, 215, 215, 215);//achtergrondkleur RGB, dit is wit, maar het word een soort grijs, de RGB waarden vind je makkelijk terug via paint of photoshop
  $txtcolor = imagecolorallocate($txtimg, 0,0,0); //tekst kleur RGB, dit is zwart

  // zet de tekst erin
  imagestring($txtimg, 3, 0, 0, $hits, $txtcolor);

  // verstuur de header, zo weet de browser dat het om een afbeelding gaat
  header("Content-Type: image/png");

  // laat de afbeelding zien
  imagepng($txtimg);

  // En de afbeelding word vernietigd (uit het geheugen verwijderd van de server)
  imagedestroy($txtimg);
  
?> 

Reacties

0
Nog geen reacties.