stò utilizzando uno script che genera un contatore di download che visualizza anche il peso del file, il contatore funziona anche se inizialmente ho avuto delle difficoltà riguardo alla modifica del persorso, ma non riesco a capire perchè non funziona la visualizzazione del peso
Codice PHP:
<div align="center">
<p> </p>
<p>
<a href="contaclick/getfile.php?<?php echo "name=prova"; ?>">Scarica Prova.zip</a>
(download <?php @include("count/prova.txt"); ?>, size <?php
$dim = @filesize ("prova.zip") / 1024;
$dim = round($dim);
echo "$dim KB";
?>)
</p>
<p>
<a href="contaclick/getfile.php?<?php echo "name=fischietti"; ?>">Scarica mini guida per creare un fischietto.zip</a>
(download <?php @include("count/fischietti.txt"); ?>, size <?php
$dim = @filesize ("fischietti.zip") / 1024;
$dim = round($dim);
echo "$dim KB";
?>)
</p>
</div>
questo è il file "getfile"
Codice PHP:
<?php
//estensione dei file da scaricare
$ext = ".zip";
//nome directory con i file di testo, compreso lo slash / finale
$counterdir = "count/";
//controllo che nell'url ci sia il nome del file da scaricare,
if(isset($_GET['name']) && trim($_GET['name'])) {
//se il file richiesto esiste, avviene il download
if (file_exists("$_GET[name]$ext")) {
header("Location: $_GET[name]$ext");
//apro il file .txt relativo al download richiesto e lo incremento di 1
$file = @fopen("$counterdir/$_GET[name].txt","r");
$count = @fread($file, 100);
$countplus = ($count + 1);
@fclose($file);
$fileb = @fopen("$counterdir/$_GET[name].txt","w");
@fwrite($fileb, $countplus, 100);
@fclose($fileb);
//altrimenti, se il file richiesto non esiste, parte l'email di avviso al webmaster e stampo un messaggio di errore
} else {
$_GET['name'] = str_replace(">", ">", $_GET['name']);
$_GET['name'] = str_replace("<", "<", $_GET['name']);
$today = date("j F Y G:i");
$user_ip = "$_SERVER[REMOTE_ADDR]";
$to = "xxxxx@tiscali.it";
$subject = "Download non trovato";
$body = "$user_ip il giorno $today non ha trovato il file $_GET[name]$ext";
@mail("$to","$subject","$body");
echo "Il file $_GET[name]$ext non è disponibile per il download.<br>
Riprova più tardi.";
}
//altrimenti, se il nome del file non è passato via get, redirect alla pagina principale
} else {
header("Location: index.php");
}
?>
pio cè una cartella "count" che contiene un semplice file .txt
il tutto si trova nella cartella "contaclick" all'interno della directory principale del sito stesso