Curs Php-mysql


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. Verbele in limba engleza - Verbs (28846)
  2. Verbe modale 2 - Teste incepatori (5358)
  3. Instructiuni conditionale if, else, switch (12911)
  4. Configurare text (3170)
  5. Ora curenta JavaScript (1020)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (2271)
  2. Curs HTML gratuit Tutoriale HTML5 (1855)
  3. Curs si Tutoriale JavaScript (1706)
  4. Curs CSS Online Tutoriale CSS3 (1563)
  5. Curs PHP MySQL, Tutoriale si Scripturi PHP (1536)