PDA

View Full Version : سوال: چه طور میشه ، یه دستور در php بعد از گذشتن زمانی اجرا کرد؟



armsoftpc
چهارشنبه 31 خرداد 1391, 15:44 عصر
به نام خدا
و با سلام
چه طور میشه ، تک کدی از php رو پس از مدت زمانی مثلا 10 ثانیه اجرا کرد.

mostafa272
چهارشنبه 31 خرداد 1391, 15:49 عصر
با تابع sleep میشه تاخیر ایجاد کرد.یه نگاه به این دو جا بنداز ببین بدردت می خورند:

[/URL][U]sleep function (http://php.net/manual/en/function.sleep.php)

time_sleep_until (http://www.php.net/manual/en/function.time-sleep-until.php)

djsaeedkhan
چهارشنبه 31 خرداد 1391, 15:58 عصر
سلام
شما اگر می خوای تکه کدی هر 10 ثانیه انجام بشه باید از auto refresh استفاده کنید.
البته اگر می خواید از اجرای هر 10 ثانیه، اجرای اتوماتیک باشه می تونید از کران جابز هم استفاده کنید

armsoftpc
چهارشنبه 31 خرداد 1391, 16:12 عصر
با سلام

با تابع sleep میشه تاخیر ایجاد کرد.یه نگاه به این دو جا بنداز ببین بدردت می خورند:

sleep function (http://php.net/manual/en/function.sleep.php)

تابش مشکل داره ، مثلا میگی 10 ثانیه بعد کد بعدی رو اجرا کن ، کد قبلی هم 10 ثانیه بعد اجرا خواهد شد ، بدین معنی که صفحه 10 ثانیه هیچ کدی رو اجرا نمی کنه ، بعد همه رو با هم اجرا میکنه!!!!
در صورتی که من می خوام وقتی به این تابع رسید، دستورات زیرش رو 10 ثانیه بعد اجرا کنه.

شما اگر می خوای تکه کدی هر 10 ثانیه انجام بشه باید از auto refresh استفاده کنید.
البته اگر می خواید از اجرای هر 10 ثانیه، اجرای اتوماتیک باشه می تونید از کران جابز هم استفاده کنید
متوجه نشدم، چی فرمودید.

pejman_view
چهارشنبه 31 خرداد 1391, 16:38 عصر
سلام

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

بهترین راه استفاده از آن هم ای جکس که منظور از اتو رفرش هم فکر کنم استفاده از کدهای ای جکس و جاوا است که دارای تاخیر زمانی برای اجرا هستند.

امیدوارم شفاف بوده باشد.
با آرزوی موفقیت.

armsoftpc
چهارشنبه 31 خرداد 1391, 17:35 عصر
مرسی ، کسی دیگه نظر نداره!

ravand
چهارشنبه 31 خرداد 1391, 18:50 عصر
با تابع sleep میشه تاخیر ایجاد کرد.یه نگاه به این دو جا بنداز ببین بدردت می خورند:

[/URL][U]sleep function (http://php.net/manual/en/function.sleep.php)

time_sleep_until (http://www.php.net/manual/en/function.time-sleep-until.php)

با این توابعی که شما معرفی کردید نمیشه ایمیل رو در یک زمان خاص ارسال کرد ؟ یا حتما باید از کران جابز استفاده کرد؟

supp-ashrarhack
چهارشنبه 10 شهریور 1400, 12:13 عصر
سلام و درود به شما دوست عزیز . چندین راه داره من یه راه کوچیک براتون معرفی میکنم شاید بدرد خورد اینو هم بگم که شما میتونید از sleep استفاده کنید ولی به مشکل های بزرگی بر میخورید . بهتر راه داخل php

$date=date_create("20:14:20");
date_add($date,date_interval_create_from_date_stri ng("20 Second"));
echo date_format($date,"h:i:s");

یعنی اینطور که ما زمان رو دریافت میکنیم چند دقیقه به زمان اضافه میکنیم بعد داخل یه رشته یا هر چیز دیگه اون چیزی که خواستیم رو ذخیره میکنیم به مثال :
من میخوام یه پیام فرستاده بشه و بعد از یه مدت زمان خاص اون کد اجرا بشه
زمان رو اینجور دریافت میکنیم و 20 ثانیه بهش اضافه میکنیم
$date=date_create("20:14:20");
date_add($date,date_interval_create_from_date_stri ng("20 Second"));
بعد داخل یه فایل ذخیره میکنیم
file_put_contents("test.txt", data_format($data,"h:i:s");
بعد مقداری که داخل اون فایل هستش رو میخونیم ببینیم چیعه و داخل یه متغییر ذخیره میکنیم .
$addata = file_get_contetns("test.txt");
بعد شرت میزاریم میگیم اگه زمان داخل این فایل فلان بود این کد رو اجرا کن
if ($addata == "20:14:40"( {
echo "salam"; }

اینجا چه اتفاقی افتاد ؟؟
به مثال ساعت 20:14:20 کاربر درخواست داد ما ۲۰ ثانیه به اون زمان اضافه کردیم و وقتی کد دوباره اجرا بشه برسی میکنه که ساعت 20:14:40 هست اگه بود اکو میکنه سلام
خیلی کوتاه توضیح دادم اگه نفهمیدین بگین که درست و کامل توضیح بدم و خودتون هم بگید چی میخواید که کدش رو بهتون بدم

supp-ashrarhack
چهارشنبه 10 شهریور 1400, 12:17 عصر
کد شما حتما باید یجور اجرا بشه تا کار کنه داخل php باید همینه میتونید یکار هم بکنید همش برسی کنید . مثلا وقتی یه کاربر وارد سایت شد شما داخل سورس سایت یه چیزی نوشته باشین که برسی کنه به کدوم کاربرا باید ایمیل ارسال کنه و بعدش به همونا ارسال کنه اینجور دیگه نیازی به کرون جاب هم نیست کاربرا یجور کرونجاب میکنن برات اگه نفهمیدی می میگم بهم بگو که برات توضیح بدم

supp-ashrarhack
چهارشنبه 10 شهریور 1400, 12:18 عصر
این بدرد شما نمیخوره این کل کد رو حساب میکنه ولی شما میخواید که یه قسمت از کد اجرا بشه