İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Günde sadece 1 defa PHP scripti çalıştırmak?

B

Brandon

Misafir
Selam,

Bu konuda daha önce internet üzerinde ya da elimdeki dökümanlara rastlamadım. İnce bir fikrim var ancak bunun için bana sanırım sürekli çalışan bir exe ya da bat dosyası lazım. Konuştuğum birkaç arkadaş olayı bu şekilde çözebileceğimi söyledi.

Sorun şu; kullanıcılarımın doğum tarihi bilgileri database de kayıtlı, öyle bir script yazmak istiyorum ki, script günde sadece bir defa mesela her sabah saat 6:00 da çalışsın, veritabanından o gün doğan userların emaillerini alsın ve onlara "Merhaba xxx. doğum günün kutlu olsun! :p" şeklinde bir mesaj yollasın. Scriptin algoritması herşeyiyle hazır ancak iş bunu günde 1 defa çalıştırmaya gelince takılıp kaldım. Bu scriptin bulunduğu .inc dosyasını index.php nin en başına include etmek ve bunu sisteme her giren kullanıcıda tekrar tekrar çalıştırmak bana pek yapıcı gelmiyor.

Fikirlerinizi bekliyorum!
 
B

Brandon

Misafir
Biraz daha açıklayıcı olursan sevinirim. Cronjob nedir? nerede bulurum ne işe yarar herşeyden önce bunları anlatırsan sevinirim
 
B

burak

Misafir
Brandon,
Unix-Linux tabanli bir isletim sistemi kullaniyorsan crontab araciligi ile programini istedigin zaman araliklari ile calistirabilirsin.
Ayni islemi windows'da yapmak icin Task Scheduler kullanabilirsin. IE nin son versiyonu ile otomatik yukleniyor.
Eger siten araciligi ile yapacaksan ve siten bir webhosting firmasinda ise, crontab kullanmana izin vermeyebilirler.
 
B

birhan

Misafir
Veya;
Script in ilk satırında tarih.txt dosyası olup olmadığına baktır;
Var ise okut;
Tarih bu gün ün ise işlem yapma;
Değilse tarih.txt e bu günün tarihini yaz.
işlemleri yap.

Daha basit....
 
A

atroxy

Misafir
eğer siteye o gün kimse girmezse o gün doğanlara mesaj gitmez :mrgreen:

server özelliklerini söylersen yardımcı olacaz ama...
 
B

Brandon

Misafir
sistem kurumsal bir WAN üzerinde, 2mbit f.optik backbone var, server elimin altında ancak unix bilgime güvenmediğim için win2000 üzerine apache, php, mysql + Zend Optimizer kurdum ya aslında o kadar sağlam projelere rağmen böyle küçük bir yerde takılmak güldürdü beni şu an. Sistem dediniz, sistem yukarıdaki gibi ha sitenin yapısında bir main.php sayfamda tüm extraları (banner tarafı, menüler, sayfalar sayfa sonları v.s.) include yöntemiyle sayfaya dahil ediyorum. Yani template tabanlı bir sistem. Ancak bu main.php de her gün ve her ayrı kullanıcı her sayfa değiştirdiğinde de bu tarihi if v.s. ile check etmek bana akılcı gelmedi o yüzden sorayım dedim belki daha önce birileri ilgilenmiştir bu tür bir şeyle diye. Ama görünüyor ki bu biraz "garip" ve pek düşünülmeyen birşey.

Her neyse teşekkürler yine de yardımlar için, bugün windows un şu "zamanlanmış görev!" olayına yoğunlaşıcam sanırım. :)=
 
A

atroxy

Misafir
php bilip cronjob olayını bilmemen bana daha garip geldi hani sağlam projelerle uğraşıyormuşun ya... yanlış anlama amacım sataşmak değil sadece fun :twisted:
unix makinenin crontab ına teksatırlık bişey yazacan senin makinedeki scripti hergun bi kere yoklayacak okadar basit.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst