下載計數器下載歷史查看程式
= 下載並安裝 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代碼介紹到此結束。我們希望您覺得它有用。
由於是日文版本的翻譯,因此措詞可能存在差異。 對於造成您的不便,我們深表歉意,但如果程式碼中的措詞有錯誤,請自行更正或調整。
請向我們提供有關使用此代碼的反饋。 請注意,我們無法回答您的問題。