startpoint

اجرای تابع در زمان خاص در php

4 پست در این موضوع

سلام بر دوستان عزیز.

من یک سوالی داریم و خیلی وقته که دارم سرچ میکنم که به نتیجه برسم اما نمیشه.

ببینید دوستان من میخوام یه صفحه ای که به زبان php هست رو توی یه زمان های خاصی اجرا کنم. فرض کنید که میخوام یک ایمیل رو 3،2 و یک روز باقی مونده به پایان اشتراک ویژه کاربر در سایت بهش ارسال کنم که بگه بیاد و عضویتش رو تمدید کنه. و یا یک اس ام اس رو با استفاده از وب سرویس براش ارسال کنم.

اما همه جا حرف از تنظیماتی بوده که در کنترل پنل ها هست. اما میخوام که اینکار توسط برنامه ای که من مینویسم اجرا بشه. آیا api ی چیزی هست برای اینکار یا خیر؟

از اساتید محترم خواهشمندم که یک جواب واحد ارائه کنن. چون تو خیلی از فروم ها گشتم چیزی پیدا نکردم.

جناب مهندس طالبی عزیز: بنده حظورا توی دفتر آموزشگاه عرض کردم که یک سوالی ازتون دارم که کلیدیه. این هم از سوالم. ممنون میشم راهنمائیم کنید.

Share this post


Link to post
Share on other sites
آموزش ووکامرس قالب جوملا قالب وردپرس قالب رایگان وردپرس قالب رایگان جوملا هاست نامحدود هاست جوملا هاست لاراول هاست وردپرس هاست ارزان هاست ربات تلگرام خرید دامنه آموزش ساخت ربات تلگرام با php آموزش لاراول آموزش cPanel آموزش php آموزش فرم ساز RSform آموزش ساخت ربات جذب ممبر آموزش ساخت ربات دوستیابی آموزش ساخت ربات فروشگاهی برای ووکامرس آموزش طراحی سایت داینامیک با php آموزش بخش پشتیبانی با rsticket

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

http://mhabedinpour.com/1391/06/%DA%A9%D8%B1%D9%88%D9%86-%D8%AC%D8%A7%D8%A8-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F/

Share this post


Link to post
Share on other sites

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

همون طور که خودتون هم تحقیق کردید و جواب گرفتید کد خاصی در رابطه با اینکه بتونه در زمان خاصی ایمیل بزنه در php نداره (البته نه در جاوا اسکریپت).

حالا که مشکلتون رو گفتید من چیزی به ذهنم رسید که اگه بتونید پیادش کنید کارتون رو انجام میده

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

حالا این خود بره خیلی راحت تمام کاربرا رو چک کنه تاریخشون رو و اگه منقضی شده ایمیل ارسال کنه والا بیخیال شه تا فردا که باز این کد رو اجرا میکنی

اجرا کردنش هم چیزی نیست یه ماژول بنویس یه دکمه داشته باشه و اون ماژول رو بذار توی بخش مدیریت و هر روز یه بار اون دکمه رو کلیک کن و خلاص

من عادت کردم اگه چیزی پیدا نشد واسه نیازم، یه جوری مشکل خودم رو حل کنم ولو از راه غیر از اون راهی که من انتظار داشتم پیدا بشه

Share this post


Link to post
Share on other sites

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

در خصوص cron job هم بهترین حالت اینه که من در کدنویسی php خودم بیام به cron job هاستم دسترسی پیدا کنم و از داخل برنامه خودم بهش دستور بدم .. توضیحات کامل :

http://net.tutsplus.com/tutorials/php/managing-cron-jobs-with-php-2/

Share this post


Link to post
Share on other sites

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری