Script per contare i download dei file

di Marcello Vitagliano - 22 gennaio 2006, 14:14 [Categoria: Programmazione]


Se lo spazio web che avete non mette a disposizione MySQL oppure non volete caricare ulteriormente il vostro database, questo contatore di click fa al caso vostro, in quanto si appoggia a semplici file di testo. Potete scaricare lo script di questo tutorial nella sezione Script.

Dopo aver scaricato e scompattato il file .zip, troverete il seguente materiale:


  • cartella "contaclick" che contiene tutti i file

  • cartella "count" che contiene i file di testo

  • index.php pagina per testare i download

  • getfile.php lo script vero e proprio

  • prova.zip esempio di download



Per prima cosa, configurate lo script. Aprite il file "getfile.php" e settate le seguenti variabili:

Codice
$estensione = '.zip'; // estensione dei file da scaricare
$counterdir = 'count/'; //nome della cartella contenente i file di testo


Per ogni file .zip che avete, dovrete inserire un file .txt nella cartella "count/" (o altro nome): servirÓ a leggere e ad incrementare il numero di download. La cartella e i file .txt dovranno avere i permessi in lettura e scrittura (666 o 777): attribuiteli col vostro client FTP.

I link ai file .zip che il visitatore scaricherÓ dovranno essere creati in questo modo (esempio nel file "index.php"):

Codice
<a href="getfile.php?<?php echo "name=nomefile"; ?>">Scarica</a>

mentre per visualizzare il numero di download/click e la grandezza (in KiB) di ogni singolo file, basterÓ inserire nel punto della pagina desiderato:

Codice
download: <?php @include("count/nomefile.txt"); ?>
size: <?php
$dim = @filesize ("nomefile.zip") / 1024;
$dim = round($dim);
echo $dim . 'KiB';
?>

Condividi: facebook twitter google+ linkedin reddit su
Archivio Cerca Stampa PDF RSS Letture 42.690 ©




  Commenti (5) Inserisci un commento


Bene


#1 - di Marco - 24 settembre 2014, 16:21

Molto bello ,semplice e intuitivo Ŕ un buon punto di partenza per chi sta imparando un po' di PHP.


#2 - di WE - 24 novembre 2014, 15:55

Il contatore dopo che si Ŕ scaricato il file non viene aggiornato. Per aggiornarlo occorre ricaricare la pagina, esiste un sistema per aggiornare direttamente la pagina col valore attuale del contatore senza appunto ricaricare la pagina?
Ciao e grazie :)


#3 - di Antico - 25 giugno 2016, 16:18

Sarebbe possibile limitare ad un numero di download superato il quale non sarebbe pi¨ possibile effettuare il download ?

Grazie mille,
Ezio


#4 - di Ezio - 30 agosto 2017, 23:21

"getfile.php" va modificato in questo modo:

//se il file richiesto esiste avviene il download
if (@file_exists($nomefile.$estensione)) {

//apro il file .txt relativo al download richiesto e lo incremento di 1
$file = @fopen("$counterdir/$nomefile.txt","r");
$count = @fread($file, 100);

if ($count < 3) {
$countplus = ($count + 1);
@fclose($file);
$fileb = @fopen("$counterdir/$nomefile.txt","w");
@fwrite($fileb, $countplus, 100);
@fclose($fileb);
header('Location: ' . $nomefile.$estensione);
} else {
echo 'Raggiunto limite';
}

//se il file non esiste stampo un messaggio di errore
} else {

echo 'File non disponibile';
}


#5 - di Marcello Vitagliano - 31 agosto 2017, 08:23

[1]


Inserisci un commento Nome (obbligatorio) Email (obbligatorio, non sarà pubblicata) Sito Web
Antispam: scrivi la prima e l'ultima lettera (case sensitive)
5 V y 4 Z 1