Contatore di Download
Programma di Visualizzazione Cronologia Download
= Scarica e Installa il Codice PHP =
Questa è un'introduzione a un programma che ti consente di conoscere il numero di download quando un utente di una pagina web scarica e utilizza un programma. È possibile impostare un contatore di download sulla pagina e gli amministratori del sito possono anche controllare facilmente la cronologia dei download sul browser.
Nota: Se una pagina con un link di download mostra un messaggio che suggerisce di salvare il file e viene chiusa senza avviare il download, sarà comunque conteggiata come un download. Questo perché conta il numero di clic sul link.
Da questa pagina, scarica il file compresso "zip" del programma e installalo sul tuo sito. Il file è chiamato "count.php", ma puoi cambiarlo.
Sei libero di utilizzare e modificare il codice, inclusa la modifica del design della pagina.
Modifica il codice per aggiungere nuove funzioni o cambiare il design per creare una pagina che sia facile da capire e utilizzare.
Scompatta il file scaricato "count.php.zip" e verrà creato un file chiamato "count.php". Crea una directory come "download_history" e salvalo lì.
Il file "zip" contiene solo un file, "count.php", e lo "schermo di accesso" per l'amministratore viene generato automaticamente.
Questo è il metodo principale di configurazione. Queste parti principali sono elencate anche nel file PHP.
- Impostazioni Password:
- È necessario impostare una password per la pagina dell'amministratore.
- TLa password predefinita è "admin", ma cambiala con una stringa a tua scelta.
- Per aumentare la sicurezza, imposta una password forte.
- Impostazione dei File da Scaricare:
- Completa le impostazioni per "$targetFiles = array()".
- Questa è la parte come "'1' => 'La tua URL/nome del file.zip',".
- Directory per Salvare i File di Log:
- Una directory chiamata "log" è richiesta sul server remoto per memorizzare i file di log che registrano la cronologia.
- Questo programma crea automaticamente una directory chiamata "log" quando carichi per la prima volta. Tuttavia, se ricevi un messaggio come "Nessuna directory", crea e carica separatamente.
- Visualizzazione Cronologia Primo Upload:
- Quando carichi per la prima volta, la "data" e il numero "0" possono essere visualizzati nella cronologia.
- Ciò avviene perché vengono generati anche file di log come "count_1.log" contenenti la data di caricamento nella directory "log" generata automaticamente.
- Se ciò ti disturba, scarica un file come "count_1.log" dal server remoto, elimina i dati e caricalo.
- Tuttavia, lo stato "data" e "0" potrebbe anche essere una cronologia di quando è stato avviato il contatore. Se c'è un download in quel giorno, verrà contato.
- Visualizzazione Pagina Amministratore:
- Quando gli amministratori visualizzano la pagina, è possibile scegliere se visualizzare l'URL o solo il nome del file.
- Se vengono posizionate più tabelle di cronologia sulla stessa pagina, è possibile scegliere se mantenerle nell'ordine impostato da "$targetFiles = array()" o ordinarle in base alla data in cui sono stati generati nuovi log.
- Design della Pagina, CSS, ecc.:
- Regola il design della pagina, il CSS, ecc., come appropriato per rendere la pagina facile da leggere.
- In passato, il CSS era scritto come file esterno, ma ora è scritto sulla stessa pagina in modo che tu possa fare riferimento ai tag quando cambi il CSS.
- Configurazione del Link di Download sulla Pagina:
- Tipicamente, il tag di download <a> è scritto come segue:
<a href="/download_history/sample.zip" download="File name when downloading.zip">[Stringa arbitraria]</a>
- In questo programma, scrivi il tag di download <a> come segue:
- Abbinare il numero in "download=1" al numero impostato in "$targetFiles = array()". Questa impostazione si riferisce ai file da scaricare.
- Abbinare il percorso alla tua pagina.
- Carica la pagina con il link di download dopo aver caricato il file con "$targetFiles = array()" (in questo esempio, "count.php").
[Esempio]Copia<a href="/download_history/count.php?download=1" download="File name when downloading.zip" target="_blank">[Stringa arbitraria]</a> - Tipicamente, il tag di download <a> è scritto come segue:
- Codice per Visualizzare la Cronologia in una Sola Linea:
- Crea il seguente JavaScript e posizionalo sulla pagina in cui desideri visualizzare:
- Abbinare il numero in "dsp_count=1" al numero impostato in "$targetFiles = array()".
- Se elimini "&day_dsp=on," verrà visualizzato solo il "numero totale" senza la visualizzazione "oggi/ieri".
- Abbinare il percorso alla tua pagina.
[Esempio]Copia<script type="text/javascript" src="/download_history/count.php?dsp_count=1&day_dsp=on"></script>Download totali: 1865 [Oggi: 23 Ieri: 76]Download totali: 1865
Quando si mostrano più tabelle, la configurazione predefinita di questo programma è di ordinare in base all'orario dell'ultima modifica. Se si desidera ordinare in base al numero totale di download, creare un nuovo file come "total_downloads.php" e sostituire la seguente parte.
- Modifiche nei commenti
Sostituire i commenti nella seguente sezione:// Scegli se sostituire l'array originale con uno nuovo ordinato nell'ordine dei nuovi log quando si visualizzano più tabelle su una pagina - Modifiche nel codice e nei commenti
Sostituire il codice e i commenti nella seguente sezione. Considerarlo come un unico blocco.// Ottieni percorsi dei file e le loro ultime date di aggiornamento (ordinati in ordine decrescente di data) $filePathsAndDates = array(); foreach ($filePath as $key => $path) { if (file_exists($path)) { $filePathsAndDates[$key] = filemtime($path); } else { // Output di questo errore nel log e decidere se continuare o interrompere l'elaborazione echo "Errore: Il file non esiste - $path<br>"; } } // Ordina in modo decrescente per l'ultima data di aggiornamento (la data più recente viene per prima) arsort($filePathsAndDates); // Ricostruisci l'array di percorsi file ordinati $sortedFilePaths = array(); foreach ($filePathsAndDates as $key => $date) { $sortedFilePaths[$key] = $filePath[$key]; }
- Creazione e installazione di nuovi file
- Quando si creano più pagine, per evitare errori nell'impostazione uniforme degli elementi durante l'aggiunta del contenuto, creare il codice per la parte sottostante in un file esterno e caricarlo nella parte attualmente implementata con codice separato. Crea un file esterno con un nome come "config.php".
// Configurazione dei file da scaricare. Se ci sono più file, aggiungerli come '2', '3', '4', ecc. Anche '0' è valido. // Utilizzare "http:" o "https:" per il protocollo. $targetFiles = array( '1' => 'TuaURL/NomeFile.zip', '2' => 'TuaURL/NomeFile.pdf', '3' => 'TuaURL/NomeFile.pdf', '4' => 'TuaURL/NomeFile.pdf', );
- Codice per leggere file esterni e dove posizionarli
- Posiziona il file creato nella seguente posizione con un nome come "config.php" utilizzando il codice "include __DIR__ . '/config.php';".
- Commenta o cancella la parte sottostante e sostituiscila con il codice " include __DIR__ . '/config.php'; ".
//$targetFiles = array( // '1' => 'TuaURL/NomeFile.zip', // '2' => 'TuaURL/NomeFile.pdf', // '3' => 'TuaURL/NomeFile.pdf', // '4' => 'TuaURL/NomeFile.pdf', //);
// Array che memorizza il numero totale di download $totalDownloads = array(); // Ottieni il percorso del file e il numero totale di download foreach ($filePath as $key => $path) { if (file_exists($path)) { $line = file($path); $total = 0; // Somma il numero di download per ogni riga foreach ($line as $val) { $valArray = explode(',', $val); $total += trim($valArray[1]); } // Memorizza il numero totale di download in un array $totalDownloads[$key] = $total; } else { // Visualizza questo errore nel registro e decide se continuare o interrompere il processo echo "Errore: il file non esiste - $path"; } } // Ordina per numero totale di download in ordine decrescente arsort($totalDownloads); // Ricostruisce l'array ordinato dei percorsi dei file $sortedFilePaths = array(); foreach ($totalDownloads as $key => $total) { $sortedFilePaths[$key] = $filePath[$key]; }
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>DownloadHistory</title> <meta name="robots" content="NOINDEX,NOFOLLOW"> </head> <body> <?php // Rendi solo questa parte un file esterno e caricalo nella pagina che usi con "include __DIR__ . '/config.php';" // Configurazione dei file da scaricare. Se ci sono più file, aggiungerli come '2', '3', '4', ecc. Anche '0' è valido. // Utilizzare "http:" o "https:" per il protocollo. $targetFiles = array( '1' => 'TuaURL/NomeFile.zip', '2' => 'TuaURL/NomeFile.pdf', '3' => 'TuaURL/NomeFile.pdf', '4' => 'TuaURL/NomeFile.pdf', ); ?> </body> </html>
include __DIR__ . '/config.php';
Potrebbero esserci errori nella formulazione in quanto è una traduzione dalla versione giapponese. Ci scusiamo per l'inconveniente, ma se ci sono errori nella formulazione nel codice, ti preghiamo di correggerli o adattarli tu stesso.