**درخواست کد php اجرای یک فرمان در آینده **

با سلام
لطفا راهنماییم کنید:
با یک اسکریپت ترجیحا php
چطور میشه به کسانی که در سایتم ثبت نام کرده اند بعد از زمان مشخصی که در هنگام ثبت نام معلوم میشود , ایمیل به صورت خودکار فرستاده شود.
اگه سوالم رو یک طور دیگه ای مطرح کنم اینه که کلا:
چطور میشه یک فرمان را به زمان مشخصی در آینده موکول کرد که در آن لحظه , خودکار آن فرمان اجرا شود؟
ممنون و متشکرم
 
آخرین ویرایش:

sunrise

Member
مي تونيد يک جدول مثلا با نام scheduler بسازيد که داراي فيلدهاي زير باشه:
کد:
schlid, title, phpcode, dotime
که به ترتيب مشخص کننده شناسه زمان بندي شده، عنوان، کد PHP که مي بايست به اجرا در بياد و فيلد آخر مشخص کننده زماني که بايد فرمان به اجرا در بياد هست.

بعد شما بايد کد PHP رو با اطلاعات مناسب با زماني که بايد اجرا بشه (ترجيحا بصورت UNIX Timestamp) درون اين جدول درج کنيد، بعنوان مثال اگه قرار هست در يک ساعت و تاريخ مشخص يک سري ايميل ارسال بشه، مي تونيد براي فيلد phpcode اين رو در نظر بگيريد:
PHP:
@mail(...);
بعد در يک فايل که هميشه اطلاعات اون به اجرا در مياد (مثلا header وب سايت) کد مناسبي رو قرار بديد که اطلاعات رو بر اساس زمان فعلي از درون اين جدول فچ بگيره و در صورتي که با شرط تعيين شده (که قاعدتا در صورتي زمان فعلي بزرگترمساوي زمان ذخيره شده در dotime هست مي بايست اطلاعات به اجرا در بياد) برابري کرد با استفاده از يک کدي شبيه اين اون اطلاعات به اجرا در مياد:
PHP:
eval($row['phpcode']);
البته اين در ساده ترين نوع هست و خب بسته به شرايط و نيازهاي شما مي تونيد از همين الگوي ساده استفاده کنيد و يک قطعه کد مناسب براي کاري که در نظر داريد بنويسيد، مثلا مي تونيد يک فيلد تحت عنوان اينکه بصورت روزانه به اجرا در بياد يا خير اضافه کنيد و ...

اگه توضيح بيشتر هم در اين مورد خواستيد بگيد تا با يک مثال عملي راهنمايي کنم و الا همين روشي که گفتم رو مي تونيد با کمي تغييرات مورد استفاده قرار بديد.
 
مي تونيد يک جدول مثلا با نام scheduler بسازيد که داراي فيلدهاي زير باشه:
کد:
schlid, title, phpcode, dotime
که به ترتيب مشخص کننده شناسه زمان بندي شده، عنوان، کد php که مي بايست به اجرا در بياد و فيلد آخر مشخص کننده زماني که بايد فرمان به اجرا در بياد هست.

بعد شما بايد کد php رو با اطلاعات مناسب با زماني که بايد اجرا بشه (ترجيحا بصورت unix timestamp) درون اين جدول درج کنيد، بعنوان مثال اگه قرار هست در يک ساعت و تاريخ مشخص يک سري ايميل ارسال بشه، مي تونيد براي فيلد phpcode اين رو در نظر بگيريد:
PHP:
@mail(...);
بعد در يک فايل که هميشه اطلاعات اون به اجرا در مياد (مثلا header وب سايت) کد مناسبي رو قرار بديد که اطلاعات رو بر اساس زمان فعلي از درون اين جدول فچ بگيره و در صورتي که با شرط تعيين شده (که قاعدتا در صورتي زمان فعلي بزرگترمساوي زمان ذخيره شده در dotime هست مي بايست اطلاعات به اجرا در بياد) برابري کرد با استفاده از يک کدي شبيه اين اون اطلاعات به اجرا در مياد:
PHP:
eval($row['phpcode']);
البته اين در ساده ترين نوع هست و خب بسته به شرايط و نيازهاي شما مي تونيد از همين الگوي ساده استفاده کنيد و يک قطعه کد مناسب براي کاري که در نظر داريد بنويسيد، مثلا مي تونيد يک فيلد تحت عنوان اينکه بصورت روزانه به اجرا در بياد يا خير اضافه کنيد و ...

اگه توضيح بيشتر هم در اين مورد خواستيد بگيد تا با يک مثال عملي راهنمايي کنم و الا همين روشي که گفتم رو مي تونيد با کمي تغييرات مورد استفاده قرار بديد.

ممنون از شما و بقیه دوستان؛
البته من کمی تازه کارم و مثل شما حرفه ای نیستم . قصد من هم از این اسکریپت , همونیه که عرض کردم( ارسال خودکار ایمیل بعد از یک زمان مشخص.) اگه براتون مقدوره بیشتر کمکم کنید.
موفق باشین
 

Masoud1365

مدیر انجمن
توضیحات جناب sunrise کامل بود دیگه !
شما کجاش اشکال داری ؟
چیزی که واضح هستش اینکه هر جور کدی که مینویسی و مثلا در صفحه mail.php ذخیره میکنی این mail.php باید توسط یک کاربر یا خود شما اجرا بشه تا زمان رو تشخیص بده و طبق اون زمان یه کاری رو انجام بده ولی فکر نمیکنم زمانی رو بتونی تنظیم کنی که خود برنامه در اون زمان یک کاری رو انجام بده ( حتما باید pageview بشه ) !
 
توضیحات جناب sunrise کامل بود دیگه !
شما کجاش اشکال داری ؟
چیزی که واضح هستش اینکه هر جور کدی که مینویسی و مثلا در صفحه mail.php ذخیره میکنی این mail.php باید توسط یک کاربر یا خود شما اجرا بشه تا زمان رو تشخیص بده و طبق اون زمان یه کاری رو انجام بده ولی فکر نمیکنم زمانی رو بتونی تنظیم کنی که خود برنامه در اون زمان یک کاری رو انجام بده ( حتما باید pageview بشه ) !

ممنون از شما
دقیقا سوال منم همین بود که بدون باز کردن صفحه و یا ... خودش تشخیص بده که در یم زمان مشخص برنامه ای رو اجرا کنه.
البته یکی بهم کرون جاب رو پیشنهاد کرده ولی فعلا که فقط اسمش رو بلدم برم ببینم چیزی میتونم ازش بدس بیارم یا نه.
به هر حال ممنون از همه
 

BehrouzPc

پــــادشــاه فــلــــش
می بایست از Cron Job استفاده کنی البته اگه فعال باشه برات
 

جدیدترین ارسال ها

بالا