Guest html Posted October 10, 2011 Share Posted October 10, 2011 <?php// Script pt. contorizarea click-urilor pe link (inclusiv link-uri de download)// Addicted (www.addicted2.ro)$nrclickFile = "nrclick.txt"; // Numele fisierului care stocheaza nr. de clickuri.$campul = 0; // Verifica daca preluarea adresei url e pozitiva, in caz afirmativ prelucreaza dateleif(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 fisierulfclose($fisier);// Redirectioneaza browserul spre url-ul preluat $_GETheader("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 fisierulwhile($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;}?> "nrclick.php" este un script care contorizeaza numarul de accesari ale unui link de pe o pagina web si stocheaza datele intr-un fisier text. Contorizeaza inclusiv numarul de click-uri pe un link de download (util pentru cunoasterea numarului de download-uri). Scriptul contorizeaza toate link-urile in acelasi fisier (nrclick.txt). - Pentru a folosi acest script, copiati pe server fisieru 'nrclick.php' si 'nrclick.txt' in acelasi director in care se afla pagina care va folosi scriptul, apoi setati drepturile de accesare ale fisierului 'nrclick.txt' - chmod 0777 (drepturi de citire, scriere, executare pt toti). - In interiorul paginii PHP care va folosi scriptul adaugati urmatorul cod: <?php @include("nrclick.php"); ?> - Link-ul care va fi contorizat trebuie sa aiba urmatoarea forma: <a href="nrclick.php?url=adresa_la_care_trimite_link-ul">Nume</a> Exemplu: <a href="nrclick.php?url=download/program.zip">Download</a> - In locul din pagina unde doriti sa apara afisat numarul de click-uri a link-ului respectiv, adaugati: <?php echo showclicks("adresa_la_care_trimite_link-ul"); ?> Exemplu: <?php echo showclicks("download/program.zip"); ?> - In exemple, "download/" fiind un director din locul unde ati adaugat fisierul "nrclick.php". - Studiati si fisierul "test.php" care este doar pt. test (la fel si directorul "download/"), si le puteti sterge. <?php @include("nrclick.php"); ?><a href="nrclick.php?url=download/program.zip">Download</a><?php echo showclicks("download/program.zip"); ?>[/code] Continutul fisierului "test.php" Link to comment Share on other sites More sharing options...
Recommended Posts