Ciao a tutti,
ho scaricato, leggendo i suggerimenti di alcuni utenti sul forum, un contatore di download in php da www.spacemarc.it. Ho provato a vedere il tutorial ma non mi gira...
Ho uppato i 2 file tramite ftp nel mia root principale.
In sostanza c'è una cartella denominata count che contiene un file di testo per ciascun file che si vuole far scaricare, in cui viene incrementato il numero di download eseguiti.
e poi vi è una pagina denominata getfile.php il cui codice ve lo riporto qui (non so come si fa a creare la finestrella in cui scrivete i codici...perdonate, sono un principiantissimo):
Premetto che so poco o nulla di php....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 = "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");
}
?>
Ora io nel mio sito ho una pagina denominata download.php nella quale voglio mettere dei link che permettano agli utenti di scaricare i file che ho in una cartella denominata areadownload
sul tutorial c'è scritto di impostare i link (affinchè possano essere scaricati e affinchè il contatore di download si possa aggiornare) in questo modo:
<a href="getfile.php?<?php echo "name=prova"; ?>">Scarica Prova.zip</a>
siccome ho i file nella cartella areadownload come dovrei modificare il codice del link affinchè mi punti ai file in quella cartella??
Perchè impostandolo così come è mi esce la scritta "file non presente e quindi non scaricabile, riprovare più tardi", allora ho pensato di provare a inserire i file da scaricare direttamente nella cartella count insieme ai file di testo per il conteggio per vedere se in questo modo me lo scaricava....ma nulla...stesso messaggio di prima....
inoltre c'è anche questo comando da inserire sotto il link:
(download <?php @include("count/prova.txt"); ?>, size <?php
$dim = @filesize ("prova.zip") / 1024;
$dim = round($dim);
echo "$dim KB";
?>)
che permette di visualizzare appunto il numero di download e i KB dei file...ma rimangono sempre uguali a zero....
La mia pagina in cui provare a vedere è: http://alifex.altervista.org/download2.php
il file da scaricare dovrebbe essere un file che si chiama leggere.zip, ovviamente ho sostituito in tutti i campi che vi ho precedentemente scritto a "prova.zip" o "prova.txt" "lettere.zip" e "lettere.txt", creando anche il file nella cartella count "lettere.txt" e scrivendovi solo 0 per far partire il contatore.
Il file lettere.zip stesso attualmente si trova nella cartella count....ma come vedete non permette di scaricarlo...
C'è qualcuno che mi può aiutare a correggere il codice???
Ps: scusate se ho scritto tanto ma è solo per spiegare bene eheheh
Ciauz
utilizza gli appositi tag per racchiudere il codice, lo visualizzi meglio