-
Contare accessi file
Salve a tutti utenti di Altervista :wink:
Dovrei contare tutte le volte che un utente scarica un file, mi spiego meglio:
Ho una cartella sul mio sito, chiamata files, che contiene i files win.tap, osx.tap e linux.tap.
Devo distribuire un programma che esegue quei file (l'utente mette in una barra l'url del .tap e il programma da un output).
Non posso usare degli url che redirectano (e nel frattempo contano i download) al file .tap perchè se no il programma eseguirebbe l'url (e darebbe un errore).
Insomma, il server dovrebbe contare ogni quante volte un utente richiede il download di quel file (e salvare il numero su un file di log).
Ho sia l'hosting qui su altervista che un hosting personale con Ubuntu 10.x.
Avete qualche idea?
-
Devi usare la funzione header() di php per poter far scaricare il file, ma lo devi fare in una pagina che ad ogni accesso incrementi di uno un valore in un database!
-
Ho capito il concetto. Come potrei realizzarlo?
-
Allora con questo codice fai il download di un file:
Codice PHP:
// Prendi il nome nel file da scaricare
$file = 'cartella/nomefile.txt';
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: '.filesize($file));
ob_clean();
flush();
readfile($file);
die();
Invece per l'incremento del numero di downloads, puoi usare sia file di testo che database.
foreach
-
Ok perfetto. Potete chiudere!