Ho scaricato un contatore di download in php che non necessita di database . Come contatore usa un file di testo dove c`e` scritto solo il numero 1. Se nel file indice php, sostituisco il file di prova "prova.php" con un mio file, il contatore non funziona piu`. Resta fermo sull`uno. Ho fatto diversi tentativi, ma non sono riuscito a risolvere. Potreste aiutarmi? Vi copio gli script:
index.php
Codice PHP:
<html>
<head>
<title>Prova download di file</title>
</head>
<body>
<div align="center">
<p> </p>
<a href="getfile.php?<?php echo "name=NEWS"; ?>">Scarica Prova.zip</a> (download <?php @include("count/prova.txt"); ?>, size <?php
$dim = @filesize ("NEWS.doc") / 1024;
$dim = round($dim);
echo "$dim KB";
?>)
<p> </p>
<p> </p>
<b><a href="http://www.spacemarc.it" target="_blank">Tutorial scaricato da Spacemarc.it</a></b>
</div>
</body>
</html>
getfile.php
Codice PHP:
<?php
//estensione dei file da scaricare
$ext = ".doc";
//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 = "tuaemail@tuosito.xx";
$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");
}
?>
Grazie.
Francesco