Счетчик загрузок
Программа просмотра истории загрузок
= Загрузка и установка PHP-кода =
Это введение в программу, которая позволяет узнать количество загрузок, когда пользователь веб-страницы загружает и использует программу. На странице можно настроить счетчик загрузок, а администраторы сайта также могут легко проверить историю загрузок в браузере.
Примечание: если страница с ссылкой для скачивания отображает сообщение о сохранении файла и закрывается без инициирования скачивания, это все равно будет засчитано как загрузка. Это происходит потому, что программа учитывает количество кликов по ссылке.
С этой страницы загрузите сжатый файл программы и установите его на своем сайте. Файл называется "count.php", но вы можете изменить его.
Вы вольны использовать и изменять код, включая изменение дизайна страницы.
Пожалуйста, измените код, добавьте новые функции или измените дизайн, чтобы создать страницу, которую легко понимать и использовать.
Распакуйте скачанный файл "count.php.zip", и будет создан файл с именем "count.php". Пожалуйста, создайте каталог, например, "download_history" и сохраните его там.
ZIP-файл содержит только один файл, "count.php", и "экран входа" для администратора создается автоматически.
Это основной метод настройки. Эти основные части также перечислены в файле PHP.
- Настройки пароля:
- Для страницы администратора необходимо установить пароль.
- Пароль по умолчанию - "admin", но измените его на любую строку на свой выбор.
- Для увеличения безопасности установите надежный пароль.
- Настройка файлов для загрузки:
- Завершите настройки для "$targetFiles = array()"..
- Это часть, например, "'1' => 'Your URL/file name.zip',".
- Каталог для сохранения файлов журнала:
- а удаленном сервере требуется каталог с именем "log" для хранения файлов журнала, записывающих историю.
- Эта программа автоматически создает каталог с именем "log" при первой загрузке. Однако, если вы получите сообщение типа "Нет каталога", создайте его и загрузите отдельно.
- Отображение истории загрузки при первой загрузке:
- При первой загрузке в истории может отображаться "дата" и число "0".
- Это потому, что файлы журнала, такие как "count_1.log", содержащие дату загрузки, также генерируются в автоматически созданном каталоге "log".
- Если это вас беспокоит, загрузите файл вроде "count_1.log" с удаленного сервера, удалите данные и загрузите его.
- Однако состояние "даты" и "0" также может быть историей запуска счетчика. Если в тот день было скачивание, оно будет засчитано.
- Отображение страницы просмотра администратора:
- Когда администраторы просматривают страницу, вы можете выбрать, отображать ли URL или только имя файла.
- Если на одной странице размещено несколько таблиц истории, вы можете выбрать, хранить ли их в порядке, установленном "$targetFiles = array()", или сортировать их в порядке даты появления новых журналов.
- Дизайн страницы, CSS и т. д.:
- Пожалуйста, настройте дизайн страницы, CSS и т. д., по мере необходимости, чтобы страница была легкой для восприятия.
- Когда-то CSS был написан в виде внешнего файла, но теперь он написан на той же странице, чтобы вы могли ссылаться на теги при изменении CSS.
- Настройка ссылки для скачивания на странице:
- Обычно тег <a> для скачивания написан следующим образом:
<a href="/download_history/sample.zip" download="File name when downloading.zip">[Произвольная строка]</a>
- В этой программе тег <a> для скачивания записывается следующим образом:
- Сопоставьте число в "download=1" с числом, установленным в "$targetFiles = array()". Эта настройка относится к файлам для загрузки.
- Пожалуйста, сопоставьте путь к вашей странице.
- Загрузите страницу с ссылкой для скачивания после загрузки файла с "$targetFiles = array()" (в этом примере - "count.php").
[Пример]Копировать<a href="/download_history/count.php?download=1" download="File name when downloading.zip" target="_blank">[Произвольная строка]</a> - Обычно тег <a> для скачивания написан следующим образом:
- Код для отображения истории в одной строке:
- Создайте следующий JavaScript и разместите его на странице, на которой вы хотите его отобразить:
- Сопоставьте число в "dsp_count=1" с числом, установленным в "$targetFiles = array()".
- Если вы удалите "&day_dsp=on," будет отображаться только "общее число" без отображения "сегодня/вчера".
- Пожалуйста, сопоставьте путь к вашей странице.
[Пример]Копировать<script type="text/javascript" src="/download_history/count.php?dsp_count=1&day_dsp=on"></script>Всего загрузок: 1865 [Today: 23 Yesterday: 76]Всего загрузок: 1865
При отображении нескольких таблиц программа сортирует их по времени последнего обновления. Если вы хотите отсортировать по общему числу загрузок, создайте новый файл, например, "total_downloads.php", и замените следующую часть кода.
- Изменения в комментариях
Замените комментарии в следующем разделе:// Выбор, заменять ли исходный массив на новый, отсортированный в порядке новых журналов при отображении нескольких таблиц на странице - Изменения в коде и комментариях
Замените код и комментарии в следующем разделе. Рассматривайте его как единый блок.// Получение путей к файлам и их последних дат обновления (отсортированных в порядке убывания даты) $filePathsAndDates = array(); foreach ($filePath as $key => $path) { if (file_exists($path)) { $filePathsAndDates[$key] = filemtime($path); } else { // Вывод этой ошибки в журнал и решение, продолжать ли обработку или прервать ее echo "Ошибка: Файл не существует - $path<br>"; } } // Сортировка в порядке убывания по последней дате обновления (самая новая дата идет первой) arsort($filePathsAndDates); // Перестройка массива отсортированных путей к файлам $sortedFilePaths = array(); foreach ($filePathsAndDates as $key => $date) { $sortedFilePaths[$key] = $filePath[$key]; }
- Создание файла и настройка
- При создании нескольких страниц, чтобы избежать ошибок в настройке элементов при добавлении контента единообразно, создайте следующую часть кода как внешний файл и загрузите его в текущую реализованную часть с другим кодом. Создайте внешний файл с именем, например, "config.php".
// Конфигурация файлов для загрузки. Если есть несколько файлов, добавьте их как '2', '3', '4' и так далее. Также '0' допустим. // Используйте "http:" или "https:" для протокола. $targetFiles = array( '1' => 'YourURL/FileName.zip', '2' => 'YourURL/FileName.pdf', '3' => 'YourURL/FileName.pdf', '4' => 'YourURL/FileName.pdf', );
- Код для чтения внешних файлов и место их размещения
- Включите файл, созданный с именем, например, "config.php", в следующем месте с помощью кода "include __DIR__ . '/config.php';".
- Закомментируйте или удалите следующий раздел и замените его кодом "include __DIR__ . '/config.php';".
//$targetFiles = array( // '1' => 'YourURL/FileName.zip', // '2' => 'YourURL/FileName.pdf', // '3' => 'YourURL/FileName.pdf', // '4' => 'YourURL/FileName.pdf', //);
// Массив, хранящий общее количество загрузок $totalDownloads = array(); // Получаем путь к файлу и общее количество его загрузок foreach ($filePath as $key => $path) { if (file_exists($path)) { $line = file($path); $total = 0; // Суммируем количество загрузок для каждой строки foreach ($line as $val) { $valArray = explode(',', $val); $total += trim($valArray[1]); } // Сохраняем общее количество загрузок в массиве $totalDownloads[$key] = $total; } else { // Выводим эту ошибку в журнал и решаем, продолжать или прервать процесс echo "Ошибка: Файл не существует - $path<br>"; } } // Сортируем по общему количеству загрузок в порядке убывания arsort($totalDownloads); // Перестраиваем отсортированный массив путей к файлам $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 // Сделайте только эту часть внешним файлом и загрузите ее на используемую вами страницу с помощью «include __DIR__ . '/config.php';» // Конфигурация файлов для загрузки. Если есть несколько файлов, добавьте их как '2', '3', '4' и так далее. Также '0' допустим. // Используйте "http:" или "https:" для протокола. $targetFiles = array( '1' => 'YourURL/FileName.zip', '2' => 'YourURL/FileName.pdf', '3' => 'YourURL/FileName.pdf', '4' => 'YourURL/FileName.pdf', ); ?> </body> </html>
include __DIR__ . '/config.php';
Возможны ошибки в формулировках, так как это перевод с японской версии. Приносим извинения за неудобства, но если в коде есть ошибки в формулировках, пожалуйста, исправьте или откорректируйте их сами.