PHP oyunu güncelleme

9 Cevap php

Ben piyasada bir para kazanma oyunu ve günlük öğeleri fiyatlar değişmez olduğu PHP bir oyun var demek.

Nasıl bu kadar veritabanında fiyatları otomatik olarak her gün güncellenen yapmak istiyorsunuz? Ben 24 saat gitti algılar sunucu üzerinde bir program yüklemek istiyorsunuz o zaman güncelleştirilmesi yapan bir PHP dosyası çalışır? Ya da orada os başka bir yolu?

Edit: The thing is guys, I don't actually own the server I rent it from a hosting company so I don't really have access the the command line :s

Teşekkürler, B ekledi

9 Cevap

Muhtemelen cron erişiminiz yok çünkü ne yapacağını çok zaman birisi bir sayfayı yükler her geçti nasıl kontrol ya. 24 saat geçtiyse sonra güncelleştirme işlevini çağırın. 48 saat geçtikten sonra iki kez diyoruz. Kimse sayfasını yükler eğer kimse ;) arıyor çünkü güncelleme fonksiyonu ya da aramadı olmuştur eğer o önemli değil

Ya da evde bir bilgisayar her 24 saat uzaktan update.php kurulum aramak için olabilir. Sen bir cron işi ve wget ile yapabilirsiniz veya pencere kullanıyorsanız eğer görev zamanlayıcı kullanabilirsiniz.

Ben ilk seçeneği iyi çalışacağını düşünüyorum. Lütfen güncelleme fonksiyonu her sayfası yükleme Çağrı ve 24 saat işareti geçtiğinde sadece güncelleyin. Eğer doğru yazarsanız tam 24 saat işareti güncellenen alırsa farketmez.

Bir günlük cronjob kurulum, bir Unix sisteminde konum gerektiğini varsayarsak. Bu, run "crontab-e" yapmak ve benzeri bir şey girmek için:

9 21 * * * /path/to/your/script

Bu, her gün 21:09 çalışacaktır.

Eğer komut erişimi yoksa, bir şey güncelleştirilmesi ihtiyaç var olmadığını denetleyen bir php komut dosyası çağırır web sitesine bir 1x1 görüntü ekleyebilirsiniz.

gibi bir şey

<img style="width: 1px; height: 1px; visibility: hidden" src="cron.php">

Veri güncelleştirilmesi gerekiyor eğer cron.php olarak kontrol.

Eğer bir "cron işi" veya ayarlanan belli aralıklarla çalışan bir PHP dosyası kurmak istiyorum.

this article daha fazla bilgi için check out.

Cron işleri hakkında en iyi parçası diyelim ki mevcut işlevsellik, saklanan prosedürler küçük bir alt sınırlı değildir olmasıdır. İstediğiniz ne olursa olsun mantığı kullanabilirsiniz! :)

Eğer fiyatları günceller ve yapmak istediğiniz bütün her gün çalıştırmak, Cron (linux) veya at command (pencereler) kullandığınız bir komut dosyası var.

Nasıl 'komut satırına erişimi' değil mi? Ben ssh erişimine izin vermez herhangi bir konağın düşünemiyorum. Cron erişimi olması, farklı bir hikaye, ama onlar da, bu izin vermelidir. Onlar yoksa - Yeni bir host bulmak!

Hepsini unutun. Böyle bir şey yapmak için hiçbir neden yoktur.

Yapmanız gereken birisi web sayfasını çağıran her zaman kontrol edilir. Siz tarihten takip ve geçerli tarih artık değişkeni maçlar o zaman yeni verileri alır şeyi kapalı yangın. Bam! Tabii ki bu çok ölçeklenebilir değil ama küçük bir oyun için gayet iyi.

Ben bir sayfa erişilen her zaman çağrılan bir işlev yapabilir düşünüyorum, ve güncelleştirme bir veritabanına karşı kontrol gerçekleşti olmadığını doğrular.

Hızlı bir sahte kod Yani:

function verify_often(){
  if (last_update_in_db() != today() ){
    update_db();
    run_periodic_function(); 
  }
  return 0;
}

Bu yöntem, yalnızca klasik PHP & gerektirir MySQL kombinasyon.

Ben Alex'in cevap cevap nasıl işe yarayabilir ama dediler bir şey söz diliyorum. Onlar bunu sayfa yüklendiğinde her zaman kontrol etmeniz gerekmez hissediyorum "kadar zaman her birisi bir sayfa yükler geçti nasıl kontrol" dediği zaman. Bunu yapmanın iyi bir yolu kullanıcıların hala anlatılan senaryo için önemli değil o kaydedilir iken 24 saatten fazla giderse, bir kullanıcı oturum açtığında kontrol etmek olacaktır. Birisi kalemlerin fiyatlarındaki oturum dahaki sefere değişecektir.