خواب تا زمان مشخص (time_sleep_until)
گاهی می خواهیم اسکریپت تا لحظه ای دقیق صبر کند. تابع (Function) time_sleep_until تا یک «زمان یونیکس (Unix Timestamp)» می خوابد. مثل زنگ موبایل که تا ساعت مشخص ساکت می ماند.
تعریف و کاربرد ساده
این تابع اسکریپت را تا «اثر انگشت زمانی» مشخص متوقف می کند. «Timestamp» یعنی تعداد ثانیه ها از 1970/01/01. سپس در زمان هدف، اجرا ادامه می یابد. نتیجه موفقیت true است و در خطا false.
مثال: سه ثانیه از الان
<?php
time_sleep_until(time() + 3);
echo "Hello";
?>
قوانین ورودی و بازگشت
ورودی، timestamp است و باید بزرگ تر از «الان» باشد. سپس روی موفقیت true برمی گردد. در غیراین صورت false می دهد.
گام های عملی
- زمان هدف را با
time()یا مقدار ثابت بساز. time_sleep_untilرا فراخوانی کن.- بعد از بیدارشدن، ادامه کد را اجرا کن.
نکته: اگر فقط چند ثانیه می خواهی، از خواب (sleep) استفاده کن؛ ساده تر است.
هشدار: این تابع تا PHP 5.3.0 روی ویندوز کار نمی کرد. نسخه محیطت را بررسی کن.
برای دقت بالاتر، ببین nanosleep (time_nanosleep) چه می کند. همچنین این صفحه خواب تا زمان مشخص را به عنوان مرجع نگه دار.
جمع بندی سریع
- تا یک timestamp مشخص می خوابد.
- موفقیت:
true؛ شکست:false. - برای تاخیر نسبی،
sleepساده تر است. - نسخه ویندوز قدیمی ممکن است پشتیبانی نشود.