Merhaba,
Arkadaşlar ben günde sadece 1 kez çalışacak php function aramaktayım. Araştırdım ama bulamadım. Cron ile sayfayı günün belli bir saatinde çağıracağım ve bu function sadece 1 kez çalışacak.
Tüm işlemler tek sayfa üzerinden gerçekleşeceği için sayfaya elle girildiğindede eğer o gün içinde ilgili function çalışmamışsa çalışacak fakat cronla çalışmışsa eğer tekrar çalışmayacak.
Yardımcı olabilecek arkadaşlar varsa sevinirim.
İyi çalışmalar
PHP - Günde 1 Kez Çalışan Function vb.
8
●550
- 19-03-2018, 16:40:42Üyeliği durdurulduÇalışmadı hocam bu
<? if($buguntarih < $sktarih) { $date1 = $buguntarih; $date2 = $sktarih; $diff = abs(strtotime($date2) - strtotime($date1)); $gunfark = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24)); if($gunfark == "5") { echo "<center><h5><b>5 gün</b> kaldı.</h5></center>"; }} $sonCalisma = (int)dosyaOku("son.txt"); if(time() - $sonCalisma > 86400) { mesajGonder(); dosyaYaz("son.txt", time()); } ?>hesapadim adlı üyeden alıntı: mesajı görüntüle - 19-03-2018, 16:46:27Üyeliği durdurulduEyvallah hocam ama dediğiniz şekilde yaparsam her sayfayı çağırdığında çalışır. Benim istediğim günde sadece 1 kere çalıştırabilmek.
Nutur adlı üyeden alıntı: mesajı görüntüle - 19-03-2018, 16:53:19dosyaYaz ve dosyaoku fonksiyonlarını örnek olarak verdim......cRobert adlı üyeden alıntı: mesajı görüntüle
dosyaoku için file get contents
dosyayaz için file put contents kullanabilirsiniz.. - 19-03-2018, 16:54:43İşini görür mü bilmem ama 2 farklı yöntemle yapabilirsin.
1. Bir kolon üzerinde son çalışma zamanını tutmak. (mysql) en mantıklısı bu.
2. Çok mantıklı değil elbet ama cookie, session time ile yapabilirsin. Daha önce çalıştırdıysa dosyayı çalışmaz zaman parametresi verirseniz. (Cron ile çalıştığında kullanıcı tekrar çağırırsa çalışır.) - 19-03-2018, 17:07:32sql biliyorsan db de sadece gün ay yil olarak rakamla dmY bilgisini bi' yerde tut. php dosyanda dmY üzerinden kontrol yap. dosyada ilk satırda bu dmY verisi ile anlık tarihi karşılaştır aynı değilsa dosyayı çalıştır ve db deki dmY'i anlık tarihle güncelle, aynı ise işlem yapma. sql bilmiyorsan bu işlemi .txt dosyasına yazma, silme, okuma şeklinde yaptırabilirsin.
5-6 satırlık işlem.
* tabi, burada günde bir sefer belirli bir saatte çalışan cronjob ayarının var olduğunu varsayıyoruz. - 20-03-2018, 16:31:57İşlemlerin gerçekleştiği bir sayfa oluşturup, bunun URL adresini cron ile çalıştır. Cronun süresini ona göre ayarla. İstediğin tarih aralıklarında çalışmasını sağlayabiliyorsun Cron'da. Saatlik, günde 1 kere, dakikada 1 kere gibi. DB'de date verisi tutarsın. Son cron görevini kayıt ettirirsin. Tekrar istek geldiğinde tarih uygun ise çalıştırır. Uygun değilse çalıştırmaz.