Kaunter Muat Turun
Program Paparan Sejarah Muat Turun
= Muat Turun dan Pasang Kod PHP =
Ini adalah pengenalan kepada program yang membolehkan anda mengetahui bilangan muat turun apabila pengguna laman web memuat turun dan menggunakan suatu program. Anda boleh menetapkan penanda muat turun pada laman tersebut, dan pentadbir laman juga boleh dengan mudah memeriksa sejarah muat turun di pelayar.
Daripada laman ini, muat turun fail "zip" yang dimampatkan dari program dan pasang pada laman anda sendiri. Fail tersebut dinamakan "count.php", tetapi anda boleh mengubahnya.
Anda bebas untuk menggunakan dan mengubahsuai kod, termasuk mengubahsuai reka bentuk laman.
Sila ubahsuai kod untuk menambah fungsi baru atau menukar reka bentuk untuk mencipta laman yang mudah difahami dan digunakan.
Unzip fail "count.php.zip" yang dimuat turun, dan fail bernama "count.php" akan dibuat. Sila cipta direktori seperti "sejarah_muat_turun" dan simpan di sana.
「Fail "zip" mengandungi hanya satu fail, "count.php," dan "skrin log masuk" untuk pentadbir dijana secara automatik.
Ini adalah kaedah tetapan utama. Bahagian-bahagian utama ini juga disenaraikan dalam fail PHP.
- Tetapan Kata Laluan:
- Kata laluan mesti ditetapkan untuk halaman pentadbir.
- Kata laluan asal adalah "admin", tetapi ubahnya kepada sebarang rentetan pilihan anda.
- Untuk meningkatkan keselamatan, tetapkan kata laluan yang kuat.
- Menetapkan Fail untuk Dimuat Turun:
- Lengkapkan tetapan untuk "$targetFiles = array()".
- Ini adalah bahagian seperti "'1' => 'URL/anda/nama fail.zip',".
- Direktori untuk Menyimpan Fail Log:
- Satu direktori bernama "log" diperlukan pada pelayan jauh untuk menyimpan fail log yang merakam sejarah.
- Program ini secara automatik mencipta direktori yang dipanggil "log" apabila anda muat naik untuk kali pertama. Walau bagaimanapun, jika anda menerima mesej seperti "Tiada direktori", sila cipta dan muat naik secara berasingan.
- Paparan Sejarah Muat Naik Pertama:
- Apabila muat naik untuk kali pertama, "tarikh" dan nombor "0" mungkin dipaparkan dalam sejarah.
- Ini kerana fail log seperti "count_1.log" yang mengandungi tarikh muat naik juga dijana dalam direktori "log" yang dihasilkan secara automatik.
- Jika ini mengganggu anda, muat turun fail seperti "count_1.log" dari pelayan jauh, padam data, dan muat naik semula.
- Walau bagaimanapun, keadaan "tarikh" dan "0" juga mungkin sejarah bermula apabila penanda itu dihidupkan. Jika terdapat muat turun pada hari tersebut, ia akan diira sebagai muat turun.
- Paparan Halaman Paparan Pentadbir:
- Apabila pentadbir melihat laman, anda boleh memilih sama ada untuk papar URL atau hanya nama fail.
- Jika beberapa jadual sejarah diletakkan pada satu laman, anda boleh memilih untuk menyimpan mereka dalam susunan yang ditetapkan oleh "$targetFiles = array()" atau mengurutkannya mengikut susunan tarikh apabila log baru berlaku.
- Reka Bentuk Laman, CSS, dan lain-lain:
- Sila sesuaikan reka bentuk laman, CSS, dan lain-lain yang sesuai untuk membuat laman mudah dibaca.
- Pada satu ketika, CSS ditulis sebagai fail luaran, tetapi kini ditulis pada halaman yang sama supaya anda boleh merujuk kepada tag ketika menukar CSS.
- Penetapan Pautan Muat Turun pada Laman:
- Biasanya, tag muat turun <a> ditulis seperti berikut:
<a href="/download_history/sample.zip" download="ダウンロードした際のファイル名.zip">[Rentetan sewenang-wenang]</a>
- Dalam program ini, tulis tag muat turun <a> seperti berikut:
- Padankan nombor dalam "download=1" kepada nombor yang ditetapkan dalam "$targetFiles = array()". Tetapan ini merujuk kepada fail yang akan dimuat turun.
- Sila padankan laluan ke laman anda.
- Sila muat naik laman dengan pautan muat turun selepas memuat naik fail dengan "$targetFiles = array()" (dalam contoh ini, "count.php").
[Contoh]Salin<a href="/download_history/count.php?download=1" download="Nama fail semasa memuat turun.zip" target="_blank">[Rentetan sewenang-wenang]</a> - Biasanya, tag muat turun <a> ditulis seperti berikut:
- Kod untuk Paparan Sejarah dalam Satu Baris:
- Cipta JavaScript berikut dan letakkan di laman yang anda ingin paparkan:
- Padankan nombor dalam "dsp_count=1" kepada nombor yang ditetapkan dalam "$targetFiles = array()".
- Jika anda memadam "&day_dsp=on," hanya jumlah "keseluruhan" akan dipaparkan tanpa paparan "hari ini/semalam".
- Sila padankan laluan ke laman anda.
[Contoh]Salin<script type="text/javascript" src="/download_history/count.php?dsp_count=1&day_dsp=on"></script>Jumlah Muat Turun:1865[Hari Ini:23 Semalam:76]Jumlah Muat Turun:1865
Apabila memaparkan beberapa jadual, tetapan lalai program adalah untuk mengurutkan mengikut masa kemaskini terkini. Jika anda ingin mengurutkan mengikut jumlah muat turun keseluruhan, cipta fail baru seperti "total_downloads.php" dan gantikan bahagian berikut.
- Perubahan dalam komen
Gantikan komen dalam bahagian berikut:// Pilih sama ada untuk menggantikan array asal dengan yang baru yang disusun mengikut urutan log baru apabila memaparkan beberapa jadual pada satu laman - Perubahan kod dan komen
Gantikan kod dan komen dalam bahagian berikut. Harap dianggap sebagai satu blok.// Dapatkan laluan fail dan tarikh kemaskini terkini mereka (disusun mengikut turutan menurun tarikh) $filePathsAndDates = array(); foreach ($filePath as $key => $path) { if (file_exists($path)) { $filePathsAndDates[$key] = filemtime($path); } else { // Paparkan ralat ini ke log dan tentukan sama ada untuk terus atau menghentikan proses echo "Ralat: Fail tidak wujud - $path<br>"; } } // Susun mengikut turutan menurun oleh tarikh kemaskini terakhir (tarikh baru terlebih dahulu) arsort($filePathsAndDates); // Membina semula array laluan fail yang disusun $sortedFilePaths = array(); foreach ($filePathsAndDates as $key => $date) { $sortedFilePaths[$key] = $filePath[$key]; }
- Penciptaan Fail dan Persediaan
- Apabila membuat beberapa halaman, untuk mengelakkan kesilapan dalam menetapkan perkara semasa menambah kandungan secara seragam, cipta bahagian kod berikut sebagai fail luaran, dan muatkan ke dalam bahagian yang dilaksanakan ketika ini dengan kod yang berbeza. Cipta fail luaran dengan nama seperti "config.php".
// Konfigurasi fail untuk dimuat turun. Jika terdapat beberapa fail, tambahkan sebagai '2', '3', '4', dan lain-lain. Juga, '0' adalah sah. // Gunakan "http:" atau "https:" untuk protokol. $targetFiles = array( '1' => 'URLAnda/NamaFail.zip', '2' => 'URLAnda/NamaFail.pdf', '3' => 'URLAnda/NamaFail.pdf', '4' => 'URLAnda/NamaFail.pdf', );
- Kod untuk muatkan fail luaran dan penempatannya
- Sertakan fail yang dicipta dengan nama seperti "config.php" di lokasi berikut dengan kod "include __DIR__ . '/config.php';".
- Komenkan atau padam bahagian berikut dan gantikan dengan kod "include __DIR__ . '/config.php';".
//$targetFiles = array( // '1' => 'URLAnda/NamaFail.zip', // '2' => 'URLAnda/NamaFail.pdf', // '3' => 'URLAnda/NamaFail.pdf', // '4' => 'URLAnda/NamaFail.pdf', //);
// Array yang menyimpan jumlah muat turun keseluruhan $totalDownloads = array(); // Dapatkan laluan fail dan jumlah muat turun keseluruhan foreach ($filePath as $key => $path) { if (file_exists($path)) { $line = file($path); $total = 0; // Jumlahkan jumlah muat turun untuk setiap baris foreach ($line as $val) { $valArray = explode(',', $val); $total += trim($valArray[1]); } // Simpan jumlah muat turun keseluruhan dalam array $totalDownloads[$key] = $total; } else { // Keluarkan ralat ini ke log dan tentukan sama ada untuk terus atau menghentikan proses echo "Ralat: Fail tidak wujud - $path"; } } // Urutkan mengikut jumlah muat turun keseluruhan dalam turun padanan arsort($totalDownloads); // Membina semula array laluan fail yang diurutkan $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 // Buat hanya bahagian ini sebagai fail luaran dan muatkan ke laman yang anda gunakan dengan "include __DIR__ . '/config.php';" // Konfigurasi fail untuk dimuat turun. Jika terdapat beberapa fail, tambahkan sebagai '2', '3', '4', dan lain-lain. Juga, '0' adalah sah. // Gunakan "http:" atau "https:" untuk protokol. $targetFiles = array( '1' => 'URLAnda/NamaFail.zip', '2' => 'URLAnda/NamaFail.pdf', '3' => 'URLAnda/NamaFail.pdf', '4' => 'URLAnda/NamaFail.pdf', ); ?> </body> </html>
include __DIR__ . '/config.php';
Mungkin terdapat kesalahan dalam pilihan perkataan kerana ia adalah terjemahan dari versi Jepun. Kami memohon maaf atas kesulitan ini, tetapi jika terdapat kesalahan dalam perkataan dalam kod, sila betulkan atau sesuaikan sendiri.