Download Counter
Download History Viewing Program
= I-download at I-install ang PHP Code =
Ito ay isang introduksyon sa isang programa na nagbibigay-daan sa iyo na malaman ang bilang ng mga pag-download kapag ang isang tagagamit ng web page ay nagda-download at gumagamit ng isang programa. Maaari kang mag-set up ng isang download counter sa pahina, at ang mga administrator ng site ay maaari rin nang madali na mag-check ng kasaysayan ng download sa browser.
Mula sa pahinang ito, i-download ang compressed "zip" file ng programa at i-install ito sa iyong sariling site. Ang file ay may pangalan na "count.php", ngunit maaari mong baguhin ito.
Malaya kang gumamit at baguhin ang code, kabilang ang pagbabago ng disenyo ng pahina.
Mangyaring baguhin ang code upang magdagdag ng bagong mga function o baguhin ang disenyo upang lumikha ng isang pahina na madaling maintindihan at gamitin.
I-unzip ang i-download na "count.php.zip" file, at lumikha ng isang file na may pangalan na "count.php". Mangyaring lumikha ng isang directory tulad ng "download_history" at doon ito i-save.
Ang "zip" file ay naglalaman lamang ng isang file, "count.php," at ang "login screen" para sa administrator ay awtomatikong nililikha.
Ito ang pangunahing paraan ng pag-set. Ang mga pangunahing bahagi ay naka-lista rin sa PHP file.
- Mga Setting sa Password:
- Kailangang mag-set ng isang password para sa pahina ng administrator.
- Ang default na password ay "admin", ngunit baguhin ito sa anumang string na gusto mo.
- Upang palakasin ang seguridad, mag-set ng isang malakas na password.
- Pag-set ng mga File na I-download:
- Kumpletuhin ang mga setting para sa "$targetFiles = array()".
- Ito ang bahagi tulad ng "'1' => 'Your URL/file name.zip',".
- Direktoryo para sa Pag-i-save ng mga Log Files:
- Isang direktoryo na may pangalan na "log" ang kinakailangan sa remote server upang mag-save ng mga log files na nagre-record ng kasaysayan.
- Awtomatikong lumilikha ng direktoryong tinatawag na "log" ang programa kapag ito ay na-upload sa unang pagkakataon. Gayunpaman, kung makakatanggap ka ng mensahe tulad ng "Walang direktoryo", mangyaring lumikha at i-upload ito nang hiwalay.
- Unang Pagkakataong Display ng Pag-upload ng Kasaysayan:
- Kapag unang na-upload, ang "petsa" at ang numero na "0" ay maaaring ma-display sa kasaysayan.
- Ito ay sapagkat naglilikha rin ng mga log files tulad ng "count_1.log" na naglalaman ng petsa ng upload sa awtomatikong nilikhang direktoryong "log".
- Kung ito ay nakakairita sa iyo, i-download ang isang file tulad ng "count_1.log" mula sa remote server, burahin ang data, at i-upload ito.
- Gayunpaman, ang "petsa" at "0" na estado ay maaari rin namang isang kasaysayan ng kung kailan nagsimula ang counter. Kung mayroong pag-download sa araw na iyon, ito ay bibilangin.
- Pamamalagi ng Display ng Pahinang Nakikita ng Administrator:
- Kapag tiningnan ng mga administrator ang pahina, maaari nilang piliin kung ipapakita nila ang URL o tanging ang pangalan ng file lamang.
- Kung maraming mga history table ang nasa isang pahina, maaari mong piliin na panatilihing nasa order na itinakda ng "$targetFiles = array()" o i-sort sila sa order ng petsa kung kailan nagkaroon ng mga bagong log.
- Disenyo ng Pahina, CSS, at iba pa:
- Mangyaring i-adjust ang disenyo ng pahina, CSS, at iba pa, ayon sa naaangkop upang gawing madali ang pagbabasa ng pahina.
- Noong una, ang CSS ay isinulat bilang isang external file, ngunit ngayon ito ay isinulat sa parehong pahina upang maaari mong pagbasehan ng mga tag kapag nagbabago ng CSS.
- Pagsasaayos ng Link sa Pag-download sa Pahina:
- Karaniwan, ang download <a> tag ay isinusulat tulad ng sumusunod:
<a href="/download_history/sample.zip" download="Pangalan ng File kapag nagdo-download.zip">[Kaswal na string]</a>
- Sa program na ito, isulat ang download <a> tag tulad ng sumusunod:
- I-match ang numero sa "download=1" sa numero na itinakda sa "$targetFiles = array()". Ang setting na ito ay kumakatawan sa mga file na iba-download.
- Mangyaring i-match ang landas sa iyong pahina.
- Mangyaring i-upload ang pahina na may link sa download pagkatapos i-upload ang file na may "$targetFiles = array()" (sa halimbawang ito, "count.php").
[Halimbawa]Kopyahin<a href="/download_history/count.php?download=1" download="Pangalan ng File kapag nagdo-download.zip" target="_blank">[Kaswal na string]</a> - Karaniwan, ang download <a> tag ay isinusulat tulad ng sumusunod:
- Code para sa Pagpapakita ng Kasaysayan sa Isang Linya:
- Lumikha ng sumusunod na JavaScript at ilagay ito sa pahina na nais mong ipakita:
- I-match ang numero sa "dsp_count=1" sa numero na itinakda sa "$targetFiles = array()".
- Kung burahin mo ang "&day_dsp=on," tanging ang "kabuuang bilang" ang ipapakita nang walang "ngayon/kahapon" na display.
- Mangyaring i-match ang landas sa iyong pahina.
[Halimbawa]Kopyahin<script type="text/javascript" src="/download_history/count.php?dsp_count=1&day_dsp=on"></script>Kabuuang mga Download: 1865[Ngayon:23 Kahapon:76]Kabuuang mga Download: 1865
Kapag nagpapakita ng maraming mga table, ang default na setting ng programa ay mag-sort ayon sa pinakabagong oras ng update. Kung nais mong mag-sort ayon sa kabuuang bilang ng download, lumikha ng isang bagong file tulad ng "total_downloads.php" at palitan ang sumusunod na bahagi.
- Pagbabago sa mga komento
Palitan ang mga komento sa sumusunod na seksyon:// Pumili kung papalitan ang orihinal na array ng bago at i-sort ayon sa order ng bagong mga logs kapag nagpapakita ng maraming mga table sa isang pahina - Pagbabago sa Code at mga Komento
Palitan ang code at mga komento sa sumusunod na seksyon. Mangyaring isaalang-alang ito bilang isang block.// Kunin ang mga file path at ang kanilang pinakabagong update na petsa (itinakda sa descending order ayon sa petsa) $filePathsAndDates = array(); foreach ($filePath as $key => $path) { if (file_exists($path)) { $filePathsAndDates[$key] = filemtime($path); } else { // Ipakita ang error sa log at magpasya kung itutuloy o ipapahinto ang proseso echo "Error: File does not exist - $path<br>"; } } // I-sort sa descending order ayon sa pinakabagong update na petsa (ang pinakabagong petsa ay nauuna) arsort($filePathsAndDates); // I-rebuild ang array ng mga sorted file path $sortedFilePaths = array(); foreach ($filePathsAndDates as $key => $date) { $sortedFilePaths[$key] = $filePath[$key]; }
- Paglikha at Pag-setup ng File
- Kapag lumilikha ng maraming mga pahina, upang maiwasan ang mga pagkakamali sa pag-set ng mga item habang idinadagdag ang content nang uniform, lumikha ng sumusunod na bahagi ng code bilang isang external file, at i-load ito sa kasalukuyang ipinatupad na bahagi gamit ang ibang code. Lumikha ng isang external file na may pangalan tulad ng "config.php".
// Konfigurasyon ng mga file na ido-download. Kung mayroong maraming mga file, idagdag ito bilang '2', '3', '4', atbp. Ang '0' rin ay wasto. // Gamitin ang "http:" o "https:" para sa protocol. $targetFiles = array(
'1' => 'YourURL/FileName.zip',
'2' => 'YourURL/FileName.pdf',
'3' => 'YourURL/FileName.pdf',
'4' => 'YourURL/FileName.pdf', ); - Code para i-load ang external file at kung saan ilalagay ito
- Isama ang file na nilikha na may pangalan tulad ng "config.php" sa sumusunod na lokasyon gamit ang code na "include __DIR__ . '/config.php';".
- I-komento o tanggalin ang sumusunod na seksyon at palitan ito ng code na "include __DIR__ . '/config.php';".
//$targetFiles = array(
// '1' => 'YourURL/FileName.zip',
// '2' => 'YourURL/FileName.pdf',
// '3' => 'YourURL/FileName.pdf',
// '4' => 'YourURL/FileName.pdf',
//);
// Array na nag-iimbak ng kabuuang bilang ng mga downloads $totalDownloads = array(); // Kunin ang file path at ang kabuuang bilang ng mga downloads nito foreach ($filePath as $key => $path) { if (file_exists($path)) { $line = file($path); $total = 0; // I-add ang bilang ng mga downloads para sa bawat row foreach ($line as $val) { $valArray = explode(',', $val); $total += trim($valArray[1]); } // I-save ang kabuuang bilang ng mga downloads sa isang array $totalDownloads[$key] = $total; } else { /// Ilabas ang error na ito sa log at magpasiya kung itutuloy o ititigil ang proseso echo "Error: File does not exist - $path"; } } // I-sort ayon sa kabuuang bilang ng mga downloads sa pababa arsort($totalDownloads); // I-rebuild ang na-sort na array ng mga file path $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 // Gawing external file lamang ang bahaging ito at i-load ito sa pahina na gagamitin mo gamit ang "include __DIR__ . '/config.php';" // Konfigurasyon ng mga file na ido-download. Kung mayroong maraming mga file, idagdag ito bilang '2', '3', '4', atbp. Ang '0' rin ay wasto. // Gamitin ang "http:" o "https:" para sa protocol. $targetFiles = array(
'1' => 'YourURL/FileName.zip',
'2' => 'YourURL/FileName.pdf',
'3' => 'YourURL/FileName.pdf',
'4' => 'YourURL/FileName.pdf', ); ?> </body> </html>
include __DIR__ . '/config.php';
Maaaring may mga pagkakamali sa mga salita dahil ito ay isang pagsasalin mula sa Japanese version. Humihingi kami ng paumanhin sa abala, ngunit kung mayroong error sa salita sa code, mangyaring ituwid o ayusin ito ng iyong sarili.