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 HTML5 adauga o aplicatie externa (SWF, PDF) in pagina web?
<mark> <embed> <canvas>
<embed src="flash_game.swf" width="450" height="350" />
Ce pseudo-element adauga un anume stil la prima linie de text din element?
:first-letter :before :first-line
#id:first-line {
  font-weight: bold;
  color: blue;
}
Clic pe proprietatea obiectului window care preia sau seteaza adresa URL a paginii curente.
window.location window.self window.status
var url = window.location;
alert(url);
Indicati functia PHP care preia continutul unui fisier sau pagina si-l adauga intr-un sir.
fopen() file_put_contents() file_get_contents()
$homepage = file_get_contents("http://www.marplo.net/");
echo $homepage;
Care din urmatoarele perechi de numere sunt in ordine unul dupa altu?
seven - eight ten - six three - five
This fruit has seven or eight seeds.
- Acest fruct are sapte sau opt seminte.
Care din urmatoarele perechi de numere sunt in ordine unul dupa altu?
diez - seis siete - ocho tres - cinco
Esta fruta tiene siete u ocho semillas.
- Acest fruct are sapte sau opt seminte.
Contoar click-uri pe link

Last accessed pages

  1. Pronumele in limba engleza - Pronouns (27387)
  2. Definire si Utilizare Functii in JS (1938)
  3. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (118307)
  4. De răstignit, mă pot răstigni numai pe mine (7)
  5. Curs PHP MySQL, Tutoriale si Scripturi PHP (46375)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1356)
  2. Curs HTML gratuit Tutoriale HTML5 (942)
  3. Curs si Tutoriale JavaScript (869)
  4. Curs si Tutoriale Ajax (847)
  5. Curs CSS Online Tutoriale CSS3 (814)