下载计数器下载历史查看程序
= 下载并安装 PHP 代码 =
一开始
这是一个程序的介绍,可以让你知道网页用户下载并使用某个程序时的下载次数。 可以在页面上设置下载计数器,站点管理员也可以轻松地在浏览器上查看下载历史记录。
[页面上安装的示例]
下载总数:1865[今天:23 昨天:76]
[在浏览器中打开的示例]
*在带有下载链接的页面上,即使在提示用户保存文件的信息发出后,页面在未执行下载的情况下被关闭,仍会被算作下载。 这是因为点击链接的次数会被计算在内。
下载
从此页面下载该程序的压缩“zip”文件并将其安装到您的站点上。
您可以自由使用它,包括修改代码和更改页面设计。
尝试重写代码、添加新功能或更改页面设计,使其更易于理解和使用。
PHP程序下载
关于安装
当您解压下载的“count.php.zip”文件时,将创建一个名为“count.php”的文件。请在您的网站上创建一个目录,例如“download_history”并保存。
“zip”文件仅包含一个名为“count.php”的文件,并且自动生成管理员的“登录屏幕”。
关于设置
这是主要的设置方法。这些主要部分也列在 PHP 文件中。
- 关于密码设置
- 必须为管理员页面设置密码
- 默认密码是“admin”,但请将其更改为您选择的任何字符串。
- 为了防止外部人员访问需要密码的页面,请设置尽可能强的密码。
- 设置要下载的文件
- 完成"$targetFiles = array()"的设置。
- 这是诸如“'1' => '您的 URL/文件名.zip',”之类的部分。
- 日志文件保存目录
- 需要在远程服务器上创建一个名为“log”的目录以存储记录历史的日志文件
- 当您第一次上传时,该程序会自动创建一个名为“log”的目录。但是,如果您收到诸如“无目录”之类的消息,请单独创建并上传。
- 关于第一次上传时的历史记录显示
- 当您第一次上传时,历史显示中可能会显示“日期”和数字“0”。
- 这是因为在自动生成的“log”目录中也会生成包含上传日期的“count_1.log”等日志文件。
- 如果这让您烦恼,请转到远程服务器并下载“count_1.log”等文件,删除数据并上传。
- 然而,包含“日期”和“0”的状态也是计数器启动时的历史记录。 该日期的任何下载都将被计算在内。
- 关于管理员查看页面的显示
- 显示管理员查看的页面时,您可以选择是显示 URL 还是仅显示文件名。
- 如果您在一页上设置了多个历史表,您可以选择保持"$targetFiles = array()"(设置的顺序) 或按新日志发生的日期排序。
- 页面设计、CSS等
- 请酌情调整页面设计、CSS等,使页面易于阅读。
- 曾经,CSS 被编写为外部文件,但现在它被编写在同一页面上,以便您在更改 CSS 时可以引用标签。
- 如何在页面上设置下载链接
- 通常,下载<a>标签的写法如下。
<a href="/download_history/sample.zip" download="下载时的档案名.zip">[任意字符串]</a>
- 在此程序中,按如下方式编写下载 <a> 标记。
- 将“download=1”中的数字与"$targetFiles = array"中设置的数字相匹配。此设置指的是要下载的文件。
- 请将路径与您的页面相匹配。
- 带下载链接的页面必须在"$targetFiles = array()"(本例中为 "count.php")文件上传后上传。
[示例]复制<a href="/download_history/count.php?download=1" download="下载时的档案名.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[今天:23 昨天: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' => '您的URL/文件名.zip', '2' => '您的URL/文件名.pdf', '3' => '您的URL/文件名.pdf', '4' => '您的URL/文件名.pdf', );
- 加载外部文件及其位置的代码
- 使用代码 "include __DIR__ . '/config.php';" 在以下位置加载以 "config.php" 等名称创建的文件。
- 请注释或删除以下部分,并用代码 "include __DIR__ . '/config.php';" 替换它。
//$targetFiles = array( // '1' => '您的URL/文件名.zip', // '2' => '您的URL/文件名.pdf', // '3' => '您的URL/文件名.pdf', // '4' => '您的URL/文件名.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]; }
复制命名为 "config.php" 的部分的示例
<!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' => '您的URL/文件名.zip', // '2' => '您的URL/文件名.pdf', // '3' => '您的URL/文件名.pdf', // '4' => '您的URL/文件名.pdf', //); ?> </body> </html>
复制替换的代码
include __DIR__ . '/config.php';
* 如果需要,程序中的“font-family”请根据您的网站进行设置。
“下载计数器/下载历史查看程序”的PHP代码介绍到此结束。我们希望您觉得它有用。
由于是从日文版翻译过来的,所以措辞可能会有所不同。 对于给您带来的不便,我们深表歉意,但如果代码中的措辞有错误,请自行更正或调整。
請向我們提供有關使用此程式碼的回饋。 請注意,我們無法回答您的問題。