Contador de Descargas
Download History Viewing Program
= Descargar e Instalar Código PHP =
Esta es una introducción a un programa que permite conocer el número de descargas cuando un usuario de una página web descarga y utiliza un programa. Es posible configurar un contador de descargas en la página y los administradores del sitio también pueden consultar fácilmente el historial de descargas en el navegador.
Nota: Si una página con un enlace de descarga muestra un mensaje que sugiere guardar el archivo y se cierra sin iniciar la descarga, aún se contará como una descarga. Esto se debe a que cuenta el número de clics en el enlace.
Desde esta página, descarga el archivo comprimido "zip" del programa e instálalo en tu propio sitio. El archivo se llama "count.php", pero puedes cambiarlo.
Eres libre de usar y modificar el código, incluyendo cambiar el diseño de la página.
Modifica el código para agregar nuevas funciones o cambiar el diseño y así crear una página que sea fácil de entender y utilizar.
Descomprime el archivo descargado "count.php.zip" y se creará un archivo llamado "count.php". Por favor, crea un directorio como "download_history" y guárdalo allí.
El archivo "zip" contiene solo un archivo, "count.php", y la "pantalla de inicio de sesión" para el administrador se genera automáticamente.
Este es el método principal de configuración. Estas partes principales también se enumeran en el archivo PHP.
- Configuración de Archivos para Descargar:
- Es necesario establecer una contraseña para la página del administrador.
- La contraseña predeterminada es "admin", pero cámbiala a cualquier cadena de tu elección.
- Para aumentar la seguridad, establece una contraseña fuerte.
- SConfiguración de Archivos para Descargar:
- Completa la configuración para "$targetFiles = array()".
- Esta es la parte como "'1' => 'Tu URL/nombre del archivo.zip',".
- Directorio para Guardar Archivos de Registro:
- e requiere un directorio llamado "log" en el servidor remoto para almacenar archivos de registro que registren la historia.
- Este programa crea automáticamente un directorio llamado "log" cuando cargas por primera vez. Sin embargo, si recibes un mensaje como "No hay directorio", créalo y cárgalo por separado.
- Visualización del Historial de Subidas por Primera Vez:
- Cuando se realiza una carga por primera vez, en el historial puede aparecer la "fecha" y el número "0".
- Esto se debe a que se generan archivos de registro como "count_1.log" que contienen la fecha de carga en el directorio "log" generado automáticamente.
- Si esto te molesta, descarga un archivo como "count_1.log" desde el servidor remoto, elimina los datos y cárgalo.
- Sin embargo, el estado de "fecha" y "0" también puede ser un historial de cuándo se inició el contador. Si hay una descarga en ese día, se contará.
- Visualización de Página del Administrador:
- Cuando los administradores ven la página, pueden elegir si mostrar la URL o solo el nombre del archivo.
- Si se colocan varias tablas de historial en una página, puedes elegir mantenerlas en el orden establecido por "$targetFiles = array()" o ordenarlas según la fecha en que se generaron nuevos registros.
- Diseño de Página, CSS, etc.:
- Ajusta el diseño de la página, el CSS, etc., según sea necesario para que la página sea fácil de leer.
- En algún momento, el CSS se escribía como un archivo externo, pero ahora se escribe en la misma página para que puedas hacer referencia a las etiquetas al cambiar el CSS.
- Configuración del Enlace de Descarga en la Página:
- Típicamente, la etiqueta de descarga <a> se escribe de la siguiente manera:
<a href="/download_history/sample.zip" download="File name when downloading.zip"> [Cadena arbitraria]</a>
- En este programa, escribe la etiqueta de descarga <a> de la siguiente manera:
- Haz coincidir el número en "download=1" con el número establecido en "$targetFiles = array()". Esta configuración se refiere a los archivos que se descargarán.
- Haz coincidir la ruta con tu página.
- Carga la página con el enlace de descarga después de cargar el archivo con "$targetFiles = array()" (en este ejemplo, "count.php").
[Ejemplo]Copiar<a href="/download_history/count.php?download=1" download="File name when downloading.zip" target="_blank">[Cadena arbitraria]</a> - Típicamente, la etiqueta de descarga <a> se escribe de la siguiente manera:
- Código para Mostrar el Historial en una Línea:
- Crea el siguiente JavaScript y colócalo en la página donde quieras mostrarlo:
- Haz coincidir el número en "dsp_count=1" con el número establecido en "$targetFiles = array()".
- Si eliminas "&day_dsp=on," se mostrará solo el "número total" sin la visualización de "hoy/ayer".
- Haz coincidir la ruta con tu página.
[Ejemplo]Copiar<script type="text/javascript" src="/download_history/count.php?dsp_count=1&day_dsp=on"></script>Descargas totales: 1865 [Hoy: 23 Ayer: 76]Descargas totales: 1865
Cuando se muestran varias tablas, la configuración predeterminada de este programa es ordenar por la hora de la última actualización. Si desea ordenar por el total de descargas, cree un nuevo archivo como "total_downloads.php" y reemplace la siguiente parte.
- Cambios en los comentarios
Reemplace los comentarios en la siguiente sección:// Elegir si reemplazar la matriz original con una nueva ordenada según el orden de los nuevos registros al mostrar múltiples tablas en una página - Cambios en el código y los comentarios
Reemplace el código y los comentarios en la siguiente sección. Considérelo como un solo bloque.// Obtener rutas de archivos y sus fechas de última actualización (ordenadas en orden descendente de fecha) $filePathsAndDates = array(); foreach ($filePath as $key => $path) { if (file_exists($path)) { $filePathsAndDates[$key] = filemtime($path); } else { // Imprimir este error en el registro y decidir si continuar o abortar el procesamiento echo "Error: El archivo no existe - $path<br>"; } } // Ordenar en orden descendente por la última fecha de actualización (la fecha más reciente va primero) arsort($filePathsAndDates); // Reconstruir la matriz de rutas de archivos ordenados $sortedFilePaths = array(); foreach ($filePathsAndDates as $key => $date) { $sortedFilePaths[$key] = $filePath[$key]; }
- Creación y configuración de archivos
- Cuando se crean múltiples páginas, para evitar errores en la configuración de elementos al agregar contenido de manera uniforme, cree la siguiente parte del código como un archivo externo y cárguelo en la parte implementada actualmente con un código diferente. Cree un archivo externo con un nombre como "config.php".
// Configuración de archivos para descargar. Si hay varios archivos, agrégales '2', '3', '4', etc. También, '0' es válido. // Usa "http:" o "https:" para el protocolo. $targetFiles = array( '1' => 'TuURL/NombreArchivo.zip', '2' => 'TuURL/NombreArchivo.pdf', '3' => 'TuURL/NombreArchivo.pdf', '4' => 'TuURL/NombreArchivo.pdf', );
- Código y ubicación para cargar archivos externos.
- Incluya el archivo creado con un nombre como "config.php" en la siguiente ubicación con el código "include __DIR__ . '/config.php';".
- Comente o elimine la siguiente sección y reemplácela con el código "include __DIR__ . '/config.php';".
//$targetFiles = array( // '1' => 'TuURL/NombreArchivo.zip', // '2' => 'TuURL/NombreArchivo.pdf', // '3' => 'TuURL/NombreArchivo.pdf', // '4' => 'TuURL/NombreArchivo.pdf', //);
// Matriz que almacena el número total de descargas $totalDownloads = array(); // Obtener la ruta del archivo y su número total de descargas foreach ($filePath as $key => $path) { if (file_exists($path)) { $line = file($path); $total = 0; // Agrega el número de descargas para cada fila foreach ($line as $val) { $valArray = explode(',', $val); $total += trim($valArray[1]); } // Almacena el número total de descargas en una matriz $totalDownloads[$key] = $total; } else { // Enviar este error al registro y decidir si continuar o cancelar el proceso echo "Error: el archivo no existe - $path<br>"; } } // Ordenar por número total de descargas en orden descendente arsort($totalDownloads); // Reconstruir la matriz ordenada de rutas de archivos $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 // Convierte sólo esta parte en un archivo externo y cárgalo en la página que usas con "include __DIR__ . '/config.php';" // Configuración de archivos para descargar. Si hay varios archivos, agrégales '2', '3', '4', etc. También, '0' es válido. // Usa "http:" o "https:" para el protocolo. $targetFiles = array( '1' => 'TuURL/NombreArchivo.zip', '2' => 'TuURL/NombreArchivo.pdf', '3' => 'TuURL/NombreArchivo.pdf', '4' => 'TuURL/NombreArchivo.pdf', ); ?> </body> </html>
include __DIR__ . '/config.php';
Puede haber errores en la redacción ya que es una traducción desde la versión japonesa. Pedimos disculpas por las molestias, pero si hay errores en la redacción del código, por favor, corrígelos o ajústalos tú mismo.