Joomla.it Forum
Joomla! 3 => Joomla! 3 => : ugachi.kin 08 Jul 2015, 23:36:05
-
Buongiorno,
volevo sapere se per caso fosse possibile sapere quanti download sono stati fatti di un file presente sul sito direttamente da backend? O dall'hosting?
Grazie
-
Ciao ugachi.kin,
utilizzando uno dei tanti file manager è possibile tenere conto dei download di un file. Li trovi tutti su extensions.joomla.org
-
Grazie Giovi,
speravo in realtà che ci fosse una maniera senza l'utilizzo di estensioni, poiché si tratta di un sito che ho dovuto mettere online in fretta e furia per poter permettere di scaricare un pdf, e non avevo utilizzato estensioni per la gestione dei download.
Grazie mille comunque
-
Se non vuoi utilizzare estensioni ed il file è uno solo (quindi se non hai l'esigenza di gestire molti file e non ti serve nessuna funzionalità particolare) puoi creare una pagina php che restituisce il file ed intanto incrementa il contatore. Qualcosa del genere:
incrementDownloadCounter(); // Funzione che incrementa il contatore, ad esempio su un file di testo
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="downloaded.pdf"');
readfile('downloaded.pdf'); // Funzione che legge e restituisce il file
Linki la pagina php ed il gioco è fatto!
-
Grazie mille,
sì, il file è uno solo... ma non so granché di php e altro... potresti fornirmi un'indicazione più dettagliata?
Per l'intanto grazie mille dell'aiuto.
-
Per il mio componente ho fatto così:
<?php
// Incremento contatore
$file = @fopen("contatore.txt","r");
$count = @fread($file, 100);
$countplus = ($count + 1);
@fclose($file);
$file = @fopen("contatore.txt","w");
@fwrite($file, $countplus, 100);
@fclose($file);
$file="tuofile.zip";
//Inizio download file
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
Chiamando contatore.txt dal browser ottieni il numero di download, mentre chiamando la pagina php in cui incolli il codice ottieni i file
-
Scusa, ma sono veramente molto ignorante...
il codice lo incollo in un file contatore.txt? o in un file php?
$file è il nome del mio file (può essere in una qualsiasi directory?)
content-type è la directory del file?
pragma è il gruppo utenti che può accedervi?
Scusa ancora, spero di non farti perdere troppo tempo.
Grazie
-
Mmmm... se non sei pratico di php conviene proprio che utilizzi un componente per i download ;)
-
ok, grazie mille