Este un script care contorizeaza numarul de click-uri pe un link (sau mai multe) de pe o pagina web si stocheaza datele intr-un fisier text. Contorizeaza inclusiv numarul de click-uri pe link-uri de download (util pentru cunoasterea numarului de download-uri).
Scriptul contorizeaza toate link-urile si le stocheaza intr-un fisier text.

Cod Script (nrclick.php)

<?php
// Script pt. contorizarea click-urilor pe link (inclusiv link-uri de download)
// MarPlo (marplo.net)

$nrclickFile = "nrclick.txt";   // Numele fisierului care stocheaza nr. de clickuri.
$campul = 0;


// Verifica daca preluarea adresei url e pozitiva, in caz afirmativ prelucreaza datele
if(isset($_GET['url'])) {
  $url = $_GET['url'];    // Preia adresa url din link.
  $fisier = fopen($nrclickFile, 'r+b');
  flock($fisier, LOCK_EX);   // Blocheaza fisierul

  // Citeste fisierul de stocare linie cu linie pentru gasirea cimpului cu URL-ul.
  while($citeste = fgets($fisier)) {
    if(!strcmp($citeste, $url."\n")) {   // Compara linia gasita cu url-ul (daca sunt egale 'strcmp'=0)
      $reda = ftell($fisier);   // Returneaza pozitia curenta a pointer-ului
      $nrclick = fgets($fisier);   // Preia data (nr.) care se afla pe linia imediat dupa pozitia gasita de 'ftell' 
      $nrclick = 1 + "$nrclick"; // Mareste nr. de clickuri cu o unitate
      fseek($fisier, $reda);   // Seteaza noua pozitie a pointerului (de la inceputul fisierului in bytes) la nivelul precizat de 'ftell', pt a adauga in locul corect noua valarea de click-uri
      fputs($fisier, "$nrclick");  // 'fputs' este un alia a lui 'fwrite' (scrie noua valoare)
      $campul = 1;
    }
  }

  // Daca nu a fost gasit linia cu URL-ul, atunci scrie in fisier un camp cu URL-ul.
  if(!$campul) {
    fwrite($fisier, $url."\n");   // Scrie url-ul si adauga o noua linie
    fputs($fisier, "1"."        \n");  // Adauga nr. clickuri 1 in linia imeiat dupa url 
  }

  @flock($fisier, LOCK_UN);   // Deblocheaza fisierul
  fclose($fisier);

  // Redirectioneaza browserul spre url-ul preluat $_GET
  header("Location: " . $url);
} 

// Functie pentru afisarea numarului de click-uri.
function showclicks($numeurl) {
  $nrclick = 0;
  global $nrclickFile;   // introduc numele fisierului in functie
  $fisier = fopen($nrclickFile, 'r');  // Eschide fisierul
  while($citeste = fgets($fisier)) {   // Parcrge fisierul linie cu linie
    if(!strcmp($citeste, $numeurl."\n")) {   // Gaseste pointer-ul liniei cu url-ul si-l stabileste la urmatoarea linie
      $nrclick = fgets($fisier);   // Preia datele Nr. din locul pointer-ului stabilit anterior
      break;   // Opreste parcurgerea fisierului
    }
  }
  fclose($fisier);
  return $nrclick;
}

Utilizare

<?php include("nrclick.php"); ?>

<a href="nrclick.php?url=download/program.zip">Download</a>

<?php echo showclicks("download/program.zip"); ?>

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag defineste zona de click intr-o harta creata dintr-o imagine?
<map> <img> <area>
<img src="image.jpg" usemap="#map1">
<map name="map1">
  <area shape="rect" coords="9, 120, 56, 149" href="#">
  <area shape="rect" coords="100, 200, 156, 249" href="#">
</map>
Ce proprietate CSS indica ce sa se intample cand continutul unui element depaseste dimensiunile lui?
display overflow position
#id {
  overflow: auto;
}
Clic pe evenimentul care este declansat cand mouse-ul e deasupra unui obiect.
onclick onmouseover onmouseout
document.getElementById("id").onmouseover = function(){
  document.write("Sa ai Viata Buna");
}
Indicati variabila PHP ce contine datele adaugate in adresa URL, dupa caracterul "?".
$_SESSION $_GET $_POST
if(isset($_GET["id"])) {
  echo $_GET["id"];
}
Clic pe pronumele reflexiv care e potrivit in propozitia: "Marc is the boy ... won the prize".
who which whoever
Marc is the boy who won the prize.
- Marc e baiatul care a castigat premiul.
Clic pe pronumele reflexiv care e potrivit in propozitia: "Voy a ver al pintor de ... les hablé ayer".
que quien cuyo
Voy a ver al pintor de quien les hablé ayer.
- Ma duc sa vad pictorul despre care ti-am vorbit ieri.
Contoar click-uri pe link

Last accessed pages

  1. Zilele saptamanii - Lunile anului - Anotimpurile - Engleza (10611)
  2. Verbe frazale din limba Engleza (15272)
  3. Jokes - Glume, Bancuri, Humor (3661)
  4. Zilele saptamanii, Lunile si Anotimpuri - Exercitii incepatori (3195)
  5. Proverbe, expresii si zicatori (5908)

Popular pages this month

  1. Prezentul simplu si continuu - Present Tense Simple and Continuous (3644)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (3243)
  3. Gramatica limbii engleze - Prezentare Generala (2719)
  4. Prezent perfect si Prezent perfect continuu - Present perfect and Continuous (2361)
  5. Trecutul simplu si continuu - Past Tense Simple and Continuous (1955)