DownloadtellerGeschiedenis bekijken downloaden
= PHP-code downloaden en installeren =
Dit is een introductie tot een programma waarmee je het aantal downloads kunt weten wanneer een gebruiker van een webpagina een programma downloadt en gebruikt. Het is mogelijk om een downloadteller op de pagina in te stellen, en sitebeheerders kunnen ook gemakkelijk de downloadgeschiedenis in de browser controleren.
Download vanaf deze pagina het gecomprimeerde "zip" bestand van het programma en installeer het op je eigen site. Het bestand heet "count.php", maar je kunt het wijzigen.
Je bent vrij om de code te gebruiken en aan te passen, inclusief het wijzigen van het ontwerp van de pagina.
Pas de code aan om nieuwe functies toe te voegen of het ontwerp te wijzigen om een pagina te maken die gemakkelijk te begrijpen en te gebruiken is.
Pak het gedownloade "count.php.zip" bestand uit, en er wordt een bestand met de naam "count.php" aangemaakt. Maak alsjeblieft een map zoals "download_history" aan en sla het daar op.
Het "zip" bestand bevat slechts één bestand, "count.php," en het "inlogscherm" voor de beheerder wordt automatisch gegenereerd.
Dit is de belangrijkste instelmethode. Deze belangrijkste onderdelen worden ook vermeld in het PHP-bestand.
- Wachtwoordinstellingen:
- Er moet een wachtwoord worden ingesteld voor de beheerderspagina.
- Het standaardwachtwoord is "admin", maar verander het naar een zelfgekozen tekenreeks.
- Om de beveiliging te verbeteren, stel een sterk wachtwoord in.
- Instellingen voor Te Downloaden Bestanden:
- Voltooi de instellingen voor "$targetFiles = array()".
- Dit is het gedeelte zoals "'1' => 'Uw URL/bestandsnaam.zip',".
- Map voor het Opslaan van Logbestanden:
- Een map met de naam "log" is vereist op de externe server om logbestanden op te slaan die de geschiedenis registreren.
- Dit programma maakt automatisch een map genaamd "log" aan bij de eerste upload. Als je echter een bericht krijgt zoals "Geen map", maak deze dan apart aan en upload deze.
- Weergave van Eerste Upload Geschiedenis:
- Bij de eerste upload kan de "datum" en het getal "0" worden weergegeven in de geschiedenis.
- Dit komt doordat logbestanden zoals "count_1.log" met de uploaddatum ook worden gegenereerd in de automatisch aangemaakte "log" map.
- Als dit je stoort, download dan een bestand zoals "count_1.log" van de externe server, verwijder de gegevens en upload het opnieuw.
- Echter, de "datum" en "0" status kan ook een geschiedenis zijn van wanneer de teller is gestart. Als er op die dag een download is, wordt deze geteld.
- Weergavepagina voor Beheerder:
- Wanneer beheerders de pagina bekijken, kun je kiezen of je de URL wilt weergeven of alleen de bestandsnaam.
- Als er meerdere geschiedenistabellen op één pagina zijn geplaatst, kun je kiezen om ze te behouden in de volgorde ingesteld door "$targetFiles = array()" of ze te sorteren in de volgorde van de datum waarop nieuwe logs plaatsvonden.
- Pagina Ontwerp, CSS, etc.:
- Pas alsjeblieft het pagina-ontwerp, CSS, etc. aan indien nodig om de pagina gemakkelijk leesbaar te maken.
- Vroeger was CSS geschreven als een extern bestand, maar nu is het op dezelfde pagina geschreven zodat je naar de tags kunt verwijzen bij het wijzigen van CSS.
- Instellen van Downloadlink op de Pagina:
- Typisch wordt de download <a> tag als volgt geschreven:
<a href="/download_history/sample.zip" download="Bestandsnaam bij downloaden.zip">[Willekeurige tekenreeks]</a>
- In dit programma schrijf je de download <a> tag als volgt:
- Pas het nummer in "download=1" aan naar het nummer ingesteld in "$targetFiles = array()". Deze instelling verwijst naar de bestanden die gedownload moeten worden.
- Pas het pad aan naar je pagina.
- Upload alsjeblieft de pagina met de downloadlink nadat je het bestand hebt geüpload met "$targetFiles = array()" (in dit voorbeeld, "count.php").。
[Voorbeeld]Kopiëren<a href="/download_history/count.php?download=1" download="Bestandsnaam bij downloaden.zip" target="_blank">[Willekeurige tekenreeks]</a>
- Typisch wordt de download <a> tag als volgt geschreven:
- Code voor Weergave van Geschiedenis op één Regel:
- Maak de volgende JavaScript en plaats het op de pagina die je wilt weergeven:
- Pas het nummer in "dsp_count=1" aan naar het nummer ingesteld in "$targetFiles = array()".
- Als je "&day_dsp=on," verwijdert, wordt alleen het "totaal aantal" weergegeven zonder de "vandaag/gisteren" weergave.
- Pas het pad aan naar je pagina.
[Voorbeeld]Kopiëren<script type="text/javascript" src="/download_history/count.php?dsp_count=1&day_dsp=on"></script>Totaal aantal downloads:1865[Vandaag:23 Gisteren:76]Totaal aantal downloads:1865
Bij het weergeven van meerdere tabellen is de standaardinstelling van het programma om te sorteren op de laatste update tijd. Als je wilt sorteren op het totale aantal downloads, maak dan een nieuw bestand zoals "total_downloads.php" en vervang het volgende gedeelte.
- Wijzig commentaar
Vervang de onderstaande opmerking.// Kies of de originele array moet worden vervangen door een nieuwe die is gesorteerd in de volgorde van de nieuwe logs bij het weergeven van meerdere tabellen op een pagina - Code- en opmerkingswijzigingen
Vervang de code en opmerkingen in de volgende sectie. Beschouw het als één blok.// Haal bestandspaden op en hun laatste update-datum (gesorteerd in aflopende volgorde van datum) $filePathsAndDates = array(); foreach ($filePath as $key => $path) { if (file_exists($path)) { $filePathsAndDates[$key] = filemtime($path); } else { // Geef deze foutmelding weer in het logboek en beslis of u wilt doorgaan of de verwerking wilt annuleren echo "Fout: Bestand bestaat niet - $path
"; } } // Sorteer aflopend op de laatste update-datum (nieuwste datum komt eerst) arsort($filePathsAndDates); // Herbouw de array van gesorteerde bestandspaden $sortedFilePaths = array(); foreach ($filePathsAndDates as $key => $date) { $sortedFilePaths[$key] = $filePath[$key]; } - Bestandscreatie en opzet
- Bij het maken van meerdere pagina's, om fouten in het instellen van items te voorkomen bij het uniform toevoegen van inhoud, maak het volgende deel van de code als een extern bestand, en laad het in het momenteel geïmplementeerde deel met een ander code. Maak een extern bestand met een naam als "config.php".
// Configuratie van bestanden om te downloaden. Als er meerdere bestanden zijn, voeg ze dan toe als '2', '3', '4', enz. Ook '0' is geldig. // Gebruik "http:" of "https:" voor het protocol. $targetFiles = array(
'1' => 'UwURL/Bestandsnaam.zip',
'2' => 'UwURL/Bestandsnaam.pdf',
'3' => 'UwURL/Bestandsnaam.pdf',
'4' => 'UwURL/Bestandsnaam.pdf',
); - Code om een extern bestand te laden en de plaatsing ervan
- Inclusief het bestand dat is gemaakt met een naam als "config.php" op de volgende locatie met de code "include __DIR__ . '/config.php';".
- Commentaar uit of verwijder het volgende gedeelte en vervang het door de code "include __DIR__ . '/config.php';".
//$targetFiles = array( // '1' => 'UwURL/Bestandsnaam.zip', // '2' => 'UwURL/Bestandsnaam.pdf', // '3' => 'UwURL/Bestandsnaam.pdf', // '4' => 'UwURL/Bestandsnaam.pdf', //);
// Array die het totale aantal downloads opslaat $totalDownloads = array(); // Haal het bestandspad en het totale aantal downloads op foreach ($filePath as $key => $path) { if (file_exists($path)) { $line = file($path); $total = 0; // Tel het aantal downloads op voor elke regel foreach ($line as $val) { $valArray = explode(',', $val); $total += trim($valArray[1]); } // Sla het totale aantal downloads op in een array $totalDownloads[$key] = $total; } else { // Geef deze fout weer in het logboek en beslis of u wilt doorgaan of het proces wilt afbreken echo "Fout: Bestand bestaat niet - $path"; } } // Sorteer op totaal aantal downloads in aflopende volgorde arsort($totalDownloads); // Herbouw het gesorteerde array van bestandspaden $sortedFilePaths = array(); foreach ($totalDownloads as $key => $total) { $sortedFilePaths[$key] = $filePath[$key]; }
<!doctype html <html> <head> <meta charset="UTF-8"> <title>DownloadGeschiedenis</title> <meta name="robots" content="NOINDEX,NOFOLLOW"> </head> <body> <?php // Maak alleen dit deel een extern bestand en laad het in de pagina die je gebruikt met "include __DIR__ . '/config.php';" // Configuratie van bestanden om te downloaden. Als er meerdere bestanden zijn, voeg ze dan toe als '2', '3', '4', enz. Ook '0' is geldig. // Gebruik "http:" of "https:" voor het protocol. $targetFiles = array( '1' => 'UwURL/Bestandsnaam.zip', '2' => 'UwURL/Bestandsnaam.pdf', '3' => 'UwURL/Bestandsnaam.pdf', '4' => 'UwURL/Bestandsnaam.pdf', ); ?> </body> </html>
include __DIR__ . '/config.php';
Er kunnen fouten zijn in de bewoording omdat het een vertaling is van de Japanse versie. Onze excuses voor het ongemak, maar als er een fout is in de bewoording in de code, corrigeer of pas deze dan zelf aan.