Nasıl php belirli bir gününde göndermek için?

4 Cevap php

Ben bir e-kartlar ya da böyle bir şey istiyorum. Kullanıcı, e-kartlar seçebilirsiniz seçilmiş sonra, o iletiye (ve), (ve) e-posta adı gibi bazı alanları girmelisiniz ve kullanıcı e-kartları göndermek için hangi tarih seçmek için izin istiyor .

Nasıl belirli bir günü e-kartları göndermek için? Ben her yeni gün çalışacak bir komut dosyası yazmak gerekiyor? Bunu nasıl? Üzgünüm, ben ... php yeni am (hatta mysql sorguyu yürütmek için nasıl bilmiyorum gibi acemi, url vb gelen mesajı almak değil)

4 Cevap

Evet, her gün çalışan bir komut dosyası gerekir. (Web istekleri kontrol ederek sahte Bu çalışıyor gibi saçma manevralar Engelleme.) Unix bağlamında bunu yapmak için her zamanki gibi bir cron job denir; barındırma sağlayıcı Unix tabanlı ise, onlar sizin için kullanılabilir cron işleri yapmak için ne sağladıkları içine bakmak gerekir. Windows Zamanlanmış Görevler adında paralel bir hizmeti var.

Benzer bir soru burada tartışılmıştır edildi resetting-a-mysql-field-value-without-user-execution

Ben sadece yinelemek: web tabanlı cron hizmetleri de vardır. Eğer sadece bir hosting planı var ve cron işleri eklemek değil, eğer bu kullanışlı gelebilir. Onlar ayarlayabileceğiniz bir düzenli aralıklarla bir URL arayacak. Genellikle çok ucuz. (Zaten bir kök erişim sunucusuna yükseltme daha ucuz.)

Sadece web based cron için Google arama

ciao! /0

This is for *nix. Let's say you have a php script that sends email on a specific day called mailer.php

<?php
    //mailer.php
    if (date("m/d/Y") == "06/02/2009") {
        mail("client@email", "Subject", "Body");
    }
?>

Biz zaten arka planda çalışan cron cini olduğunu kabul edeceğiz.

Eğer makinenize root erişimi varsa, o zaman bir cron işi kurma bir dosyayı düzenlerken kadar basittir.

/ Etc / crontab dosyasını açın ve aşağıdaki görevi ekleyin:

1 14 * * * root php /path/to/your/scrip/mailer.php

Bu bir kök olarak, mailer.php komut 14:01 her gün yayınlanmaya başlayacak demektir. Eğer arzu ne olursa olsun numaralarını değiştirebilirsiniz.

Bu şekilde karmaşık. Öncelikle sizin sisteminize bağlıdır. Bu Linux / BSD / Unix / Solaris ise o zaman cron olarak bu kullanışlı yarar var. Eğer Windows kullanıyorsanız, size Scheduled Tasks var. Günlük (veya istediğiniz gibi) komut dosyasını çalıştırın ve bugün göndermek zorunda ne kartları kontrol edin.