İndirme Sayacı
İndirme Geçmişi Görüntüleme Programı
= PHP Kodunu İndir ve Kur =
Bu, bir web sayfası kullanıcısı bir programı indirip kullandığında indirme sayısını bilmenizi sağlayan bir programa giriş niteliğindedir. Sayfada indirme sayacı ayarlamak mümkün olup site yöneticileri ayrıca tarayıcıdaki indirme geçmişini de kolaylıkla kontrol edebilir.
Not: Bir indirme bağlantısı içeren sayfa, dosya kaydetmeyi teşvik eden bir mesaj görüntüler ve indirmeyi başlatmadan kapatılırsa, hâlâ bir indirme olarak sayılır. Çünkü bu, bağlantı tıklamalarının sayısını sayar.
Bu sayfadan, programın sıkıştırılmış "zip" dosyasını indirin ve kendi sitenize kurun. Dosyanın adı "count.php"dir, ancak değiştirebilirsiniz.
Kodu kullanma ve değiştirme hakkına sahipsiniz, sayfa tasarımını da değiştirme dahil.
Lütfen kodu değiştirerek yeni işlevler ekleyin veya tasarımı değiştirerek anlaşılması ve kullanılması kolay bir sayfa oluşturun.
İndirilen "count.php.zip" dosyasını açın ve "count.php" adında bir dosya oluşturulacaktır. Lütfen "download_history" gibi bir dizin oluşturun ve buraya kaydedin..
"Zip" dosyası sadece bir dosya olan "count.php" ve yönetici için "giriş ekranı"nı otomatik olarak içerir.
Bu, ana ayarlama yöntemidir. Bu ana bölümler aynı zamanda PHP dosyasında da listelenmiştir.
- Şifre Ayarları:
- Yönetici sayfası için bir şifre belirlenmelidir.
- Varsayılan şifre "admin"dir, ancak istediğiniz herhangi bir dizeyle değiştirin.
- Güvenliği artırmak için güçlü bir şifre belirleyin.
- İndirilecek Dosyaların Ayarlanması:
- "$targetFiles = array()" için ayarlamaları tamamlayın.
- Bu, "'1' => 'Your URL/file name.zip'," gibi bir kısımı içerir.
- Günlük Dosyalarını Saklamak İçin Dizin:
- Tarihçeyi kaydeden günlük dosyalarını saklamak için uzak sunucuda "log" adlı bir dizin gereklidir.
- Bu program, ilk kez yüklediğinizde otomatik olarak "log" adlı bir dizin oluşturur. Ancak "Dizin yok" gibi bir mesaj alırsanız, lütfen ayrıca oluşturup yükleyin.
- İlk Yükleme Tarihçesi Görüntüleme:
- İlk kez yüklediğinizde, tarihi ve sayıyı "0" olarak görebilirsiniz.
- Bu, yüklenme tarihini içeren "count_1.log" gibi günlük dosyalarının otomatik olarak oluşturulan "log" dizininde aynı anda oluşturulması nedeniyledir.
- Eğer bu sizi rahatsız ediyorsa, uzak sunucudan "count_1.log" gibi bir dosyayı indirin, verileri silin ve yeniden yükleyin.
- Ancak, "tarih" ve "0" durumu aynı zamanda sayacın ne zaman başlatıldığına dair bir geçmiş olabilir. Eğer o gün bir indirme varsa, sayılır.
- Yönetici Görüntüleme Sayfası Ekranı:
- Yöneticiler sayfayı görüntülediğinde, URL'yi veya sadece dosya adını görüntülemek isteyip istemediğinizi seçebilirsiniz.
- Bir sayfada birden fazla tarihçe tablosu yerleştirildiğinde, bunları "$targetFiles = array()" ile belirlenen sırayla tutmayı veya yeni kayıtların tarih sırasına göre sıralamayı seçebilirsiniz.
- Sayfa Tasarımı, CSS, vb.:
- Sayfayı okunabilir hale getirmek için lütfen sayfa tasarımını, CSS, vb. uygun şekilde ayarlayın.
- Bir zamanlar CSS, harici bir dosya olarak yazılmıştı, ancak şimdi aynı sayfada yazılmıştır, böylece CSS'yi değiştirirken etiketlere başvurabilirsiniz.
- Sayfadaki İndirme Bağlantısı Kurulumu:
- Genellikle indirme <a> etiketi şu şekilde yazılır:
<a href="/download_history/sample.zip" download="File name when downloading.zip">[Rastgele dize]</a>
- Bu programda, indirme <a> etiketini şu şekilde yazın:
- "download=1" içindeki sayıyı, "$targetFiles = array()" içinde belirlenen sayıya eşleştirin. Bu ayar, indirilecek dosyalara başvurur.
- Lütfen yolunuzu sayfanıza uydurun.
- İndirme bağlantısı olan sayfayı yüklemeden önce "$targetFiles = array()" içindeki dosyayı (bu örnekte "count.php") yükleyin.
[Örnek]Kopyala<a href="/download_history/count.php?download=1" download="File name when downloading.zip" target="_blank">[Rastgele dize]</a> - Genellikle indirme <a> etiketi şu şekilde yazılır:
- Bir Satırda Tarih Geçmişi Gösterme Kodu:
- Aşağıdaki JavaScript'i oluşturun ve göstermek istediğiniz sayfaya yerleştirin:
- "dsp_count=1" içindeki sayıyı, "$targetFiles = array()" içinde belirlenen sayıya eşleştirin.
- "&day_dsp=on" ifadesini silerseniz, "bugün/dün" görüntüsü olmadan yalnızca "toplam sayı" görüntülenir.
- Lütfen yolunuzu sayfanıza uydurun.
[Örnek]Kopyala<script type="text/javascript" src="/download_history/count.php?dsp_count=1&day_dsp=on"></script>Toplam İndirmeler: 1865 [Bugün: 23 Dün: 76]Toplam İndirmeler: 1865
Birden çok tablo görüntülendiğinde, bu programın varsayılan ayarı en son güncelleme zamanına göre sıralamaktır. Toplam indirme sayısına göre sıralamak istiyorsanız, "total_downloads.php" gibi yeni bir dosya oluşturun ve aşağıdaki bölümü değiştirin.
- Yorumlardaki Değişiklikler
Aşağıdaki bölümdeki yorumları değiştirin:// Birden çok tabloyu bir sayfada görüntülerken orijinal diziyi yeni günlük sırasına göre sıralanmış biriyle değiştirip değiştirmemeyi seç - Kod ve Yorumlardaki Değişiklikler
Aşağıdaki bölümdeki kodu ve yorumları değiştirin. Bir blok olarak düşünün.// Dosya yollarını ve en son güncelleme tarihlerini al (tarih sırasına göre azalan sırayla) $filePathsAndDates = array(); foreach ($filePath as $key => $path) { if (file_exists($path)) { $filePathsAndDates[$key] = filemtime($path); } else { // Bu hatayı loga yaz ve işlemeye devam edip etmemeye karar ver echo "Hata: Dosya mevcut değil - $path<br>"; } } // En son güncelleme tarihine göre azalan sırala (en yeni tarih önce gelir) arsort($filePathsAndDates); // Sıralanmış dosya yolları dizisini yeniden oluştur $sortedFilePaths = array(); foreach ($filePathsAndDates as $key => $date) { $sortedFilePaths[$key] = $filePath[$key]; }
- Dosya oluşturma ve kurulum
- Çoklu sayfa oluştururken içerik eklerken öğelerin ayarlarında hata oluşmaması için, aşağıdaki kod parçasını harici bir dosya olarak oluşturun ve şu anda uygulanan bölüme başka bir kodla yükleyin. "config.php" gibi bir isimle harici bir dosya oluşturun.
// İndirilecek dosyaların yapılandırması. Birden fazla dosya varsa, bunları '2', '3', '4', vb. olarak ekleyin. Ayrıca, '0' geçerlidir. // Protokol için "http:" veya "https:" kullanın. $targetFiles = array( '1' => 'YourURL/FileName.zip', '2' => 'YourURL/FileName.pdf', '3' => 'YourURL/FileName.pdf', '4' => 'YourURL/FileName.pdf', );
- Harici dosyaları okumak ve bunların nereye yerleştirileceği kodu
- Aşağıdaki konumda "config.php" gibi bir adla oluşturulan dosyayı şu kodla ekleyin: "include __DIR__ . '/config.php';".
- Aşağıdaki bölümü yorum satırına alın veya silin ve yerine şu kodu ekleyin: "include __DIR__ . '/config.php';".
//$targetFiles = array( // '1' => 'YourURL/FileName.zip', // '2' => 'YourURL/FileName.pdf', // '3' => 'YourURL/FileName.pdf', // '4' => 'YourURL/FileName.pdf', //);
// Toplam indirme sayısını saklayan dizi $totalDownloads = array(); // Dosya yolunu ve toplam indirme sayısını alın foreach ($filePath as $key => $path) { if (file_exists($path)) { $line = file($path); $total = 0; // Her satırdaki indirme sayısını topla foreach ($line as $val) { $valArray = explode(',', $val); $total += trim($valArray[1]); } // Toplam indirme sayısını bir dizide saklıyoruz $totalDownloads[$key] = $total; } else { // Bu hatayı günlüğe yazdırın ve işlemin devam edip etmeyeceğine veya iptal edilip edilmeyeceğine karar verin echo "Hata: Dosya mevcut değil - $path<br>"; } } // Toplam indirme sayısına göre azalan sırada sırala arsort($totalDownloads); // Sıralanmış dosya yolları dizisini yeniden oluştur $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 // Bu bölümü harici bir dosya haline getirin ve kullandığınız sayfaya ``include __DIR__ .'/config.php';'' olarak yükleyin. // İndirilecek dosyaların yapılandırması. Birden fazla dosya varsa, bunları '2', '3', '4', vb. olarak ekleyin. Ayrıca, '0' geçerlidir. // Protokol için "http:" veya "https:" kullanın. $targetFiles = array( '1' => 'YourURL/FileName.zip', '2' => 'YourURL/FileName.pdf', '3' => 'YourURL/FileName.pdf', '4' => 'YourURL/FileName.pdf', ); ?> </body> </html>
include __DIR__ . '/config.php';
Japonca sürümünden çevrildiği için ifade hataları olabilir. Rahatsızlık için özür dileriz, ancak kodun ifadesinde hata varsa, lütfen kendiniz düzeltme veya ayarlama yapın.