Compteur de Téléchargement
Programme d'Historique des Téléchargements
= Télécharger et Installer le Code PHP =
Il s'agit d'une introduction à un programme qui vous permet de connaître le nombre de téléchargements lorsqu'un utilisateur d'une page Web télécharge et utilise un programme. Il est possible de mettre en place un compteur de téléchargement sur la page, et les administrateurs du site peuvent également vérifier facilement l'historique des téléchargements sur le navigateur.
Note : Si une page avec un lien de téléchargement affiche un message suggérant de sauvegarder le fichier et est fermée sans lancer le téléchargement, cela sera tout de même comptabilisé comme un téléchargement. Cela est dû au fait qu'il compte le nombre de clics sur le lien.
À partir de cette page, téléchargez le fichier compressé "zip" du programme et installez-le sur votre propre site. Le fichier est nommé "count.php", mais vous pouvez le renommer.
Vous êtes libre d'utiliser et de modifier le code, y compris en changeant la conception de la page.
Modifiez le code pour ajouter de nouvelles fonctions ou changer la conception afin de créer une page facile à comprendre et à utiliser.
Décompressez le fichier "count.php.zip" téléchargé, et un fichier nommé "count.php" sera créé. Veuillez créer un répertoire tel que "download_history" et enregistrez-le dedans.
Le fichier "zip" ne contient qu'un seul fichier, "count.php", et l'écran de connexion pour l'administrateur est généré automatiquement.
Ceci est la méthode principale de configuration. Ces parties principales sont également répertoriées dans le fichier PHP.
- Réglages du Mot de Passe :
- Un mot de passe doit être défini pour la page d'administration.
- Le mot de passe par défaut est "admin", mais changez-le par une chaîne de votre choix.
- Pour renforcer la sécurité, définissez un mot de passe fort.
- Réglage des Fichiers à Télécharger :
- Complétez les réglages pour "$targetFiles = array()".
- Cela concerne la partie comme "'1' => 'Votre URL/nom du fichier.zip',".
- Répertoire pour Enregistrer les Fichiers Journal :
- Un répertoire nommé "log" est requis sur le serveur distant pour stocker les fichiers journaux qui enregistrent l'historique.
- Ce programme crée automatiquement un répertoire appelé "log" lors de la première mise en ligne. Cependant, si vous obtenez un message tel que "Aucun répertoire", veuillez le créer et le télécharger séparément.
- Affichage de l'Histoire lors de la Première Mise en Ligne :
- Lors de la première mise en ligne, la "date" et le chiffre "0" peuvent être affichés dans l'historique.
- Cela est dû au fait que des fichiers journaux tels que "count_1.log" contenant la date de la mise en ligne sont également générés dans le répertoire "log" généré automatiquement.
- Si cela vous dérange, téléchargez un fichier tel que "count_1.log" depuis le serveur distant, supprimez les données et téléchargez-le à nouveau.
- Cependant, l'état "date" et "0" peut aussi être une histoire de quand le compteur a été démarré. S'il y a un téléchargement ce jour-là, il sera comptabilisé.
- Affichage de la Page d'Administration :
- Lorsque les administrateurs consultent la page, vous pouvez choisir d'afficher l'URL ou seulement le nom du fichier.
- Si plusieurs tables d'historique sont placées sur une page, vous pouvez choisir de les maintenir dans l'ordre défini par "$targetFiles = array()" ou de les trier selon la date où de nouveaux journaux ont eu lieu.
- Conception de la Page, CSS, etc. :
- Ajustez la conception de la page, le CSS, etc. selon vos besoins pour rendre la page facile à lire.
- Autrefois, le CSS était écrit comme un fichier externe, mais maintenant il est écrit sur la même page afin que vous puissiez vous référer aux balises lors du changement du CSS.
- Configuration du Lien de Téléchargement sur la Page :
- Généralement, la balise de téléchargement <a> est écrite comme suit :
<a href="/download_history/sample.zip" download="File name when downloading.zip">[Chaîne arbitraire]]</a>
- Dans ce programme, écrivez la balise de téléchargement <a> comme suit :
- Faites correspondre le nombre dans "download=1" au nombre défini dans "$targetFiles = array()". Ce réglage concerne les fichiers à télécharger.
- Faites correspondre le chemin vers votre page.
- Veuillez télécharger la page avec le lien de téléchargement après avoir téléchargé le fichier avec "$targetFiles = array()" (dans cet exemple, "count.php").
[Exemple]Copier<a href="/download_history/count.php?download=1" download="File name when downloading.zip" target="_blank">[Chaîne arbitraire]</a> - Généralement, la balise de téléchargement <a> est écrite comme suit :
- Code pour Afficher l'Histoire en Une Ligne :
- Créez le JavaScript suivant et placez-le sur la page où vous souhaitez l'afficher :
- Faites correspondre le nombre dans "dsp_count=1" au nombre défini dans "$targetFiles = array()".
- Si vous supprimez "&day_dsp=on,", seul le "nombre total" sera affiché sans l'affichage "aujourd'hui/hier".
- Faites correspondre le chemin vers votre page.
[Exemple]Copier<script type="text/javascript" src="/download_history/count.php?dsp_count=1&day_dsp=on"></script>Téléchargements totaux: 1865 [Aujourd'hui : 23 Hier : 76]Téléchargements totaux: 1865
Lors de l'affichage de plusieurs tableaux, la configuration par défaut de ce programme consiste à trier par l'heure de la dernière mise à jour. Si vous souhaitez trier par le nombre total de téléchargements, créez un nouveau fichier comme "total_downloads.php" et remplacez la partie suivante.
- Changements dans les commentaires
Remplacez les commentaires dans la section suivante :// Choisissez de remplacer ou non le tableau d'origine par un nouveau trié dans l'ordre des nouveaux journaux lors de l'affichage de plusieurs tables sur une page - Changements dans le code et les commentaires
Remplacez le code et les commentaires dans la section suivante. Considérez-le comme un seul bloc.// Obtenir les chemins des fichiers et leurs dates de dernière mise à jour (triés par ordre décroissant de date) $filePathsAndDates = array(); foreach ($filePath as $key => $path) { if (file_exists($path)) { $filePathsAndDates[$key] = filemtime($path); } else { // Afficher cette erreur dans le journal et décider de continuer ou d'abandonner le traitement echo "Erreur : le fichier n'existe pas - $path<br>"; } } // Trier par date de dernière mise à jour (la date la plus récente vient en premier) arsort($filePathsAndDates); // Reconstruire le tableau des chemins de fichiers triés $sortedFilePaths = array(); foreach ($filePathsAndDates as $key => $date) { $sortedFilePaths[$key] = $filePath[$key]; }
- Création de fichiers et configuration
- Lors de la création de plusieurs pages, pour éviter les erreurs de configuration tout en ajoutant du contenu de manière uniforme, créez la partie suivante du code en tant que fichier externe et chargez-la dans la partie actuellement implémentée avec un autre code. Créez un fichier externe avec un nom comme "config.php".
// Configuration des fichiers à télécharger. S'il y a plusieurs fichiers, ajoutez-les comme '2', '3', '4', etc. De plus, '0' est valide. // Utilisez "http:" ou "https:" pour le protocole. $targetFiles = array( '1' => 'VotreURL/NomFichier.zip', '2' => 'VotreURL/NomFichier.pdf', '3' => 'VotreURL/NomFichier.pdf', '4' => 'VotreURL/NomFichier.pdf', );
- Code pour lire les fichiers externes et où les placer
- Incluez le fichier créé avec un nom comme "config.php" à l'emplacement suivant avec le code "include __DIR__ . '/config.php';".
- Commentez ou supprimez la section suivante et remplacez-la par le code "include __DIR__ . '/config.php';".
//$targetFiles = array( // '1' => 'VotreURL/NomFichier.zip', // '2' => 'VotreURL/NomFichier.pdf', // '3' => 'VotreURL/NomFichier.pdf', // '4' => 'VotreURL/NomFichier.pdf', //);
// Tableau qui stocke le nombre total de téléchargements $totalDownloads = array(); // Récupère le chemin du fichier et son nombre total de téléchargements foreach ($filePath as $key => $path) { if (file_exists($path)) { $line = file($path); $total = 0; // Additionnez le nombre de téléchargements pour chaque ligne foreach ($line as $val) { $valArray = explode(',', $val); $total += trim($valArray[1]); } // Stocke le nombre total de téléchargements dans un tableau $totalDownloads[$key] = $total; } else { // Affiche cette erreur dans le journal et décide de continuer ou d'abandonner le processus echo "Erreur : le fichier n'existe pas - $path<br>"; } } // Trier par nombre total de téléchargements par ordre décroissant arsort($totalDownloads); // Reconstruit le tableau trié des chemins de fichiers $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 // Transformez uniquement cette partie en fichier externe et chargez-la dans la page que vous utilisez avec "include __DIR__ . '/config.php';" // Configuration des fichiers à télécharger. S'il y a plusieurs fichiers, ajoutez-les comme '2', '3', '4', etc. De plus, '0' est valide. // Utilisez "http:" ou "https:" pour le protocole. $targetFiles = array( '1' => 'VotreURL/NomFichier.zip', '2' => 'VotreURL/NomFichier.pdf', '3' => 'VotreURL/NomFichier.pdf', '4' => 'VotreURL/NomFichier.pdf', ); ?> </body> </html>
include __DIR__ . '/config.php';
Il peut y avoir des erreurs dans la formulation car il s'agit d'une traduction de la version japonaise. Nous nous excusons pour les désagréments, mais si des erreurs apparaissent dans la formulation du code, veuillez les corriger ou les ajuster vous-même.