-
שלום לכולם..
עשיתי קוד קצר ב PHP שבעצם נועד לחזור על עצמו רק פעם ביום, רק שהוא רץ פעם אחת (כמו כל קוד ) איך אני יכול לגרום לקוד לרוץ אוטומטית כל X זמן...
<?php $x = date("Y-m-d"); $y = date("Y-m-d"); while ($x == $y){ echo "Tomorrow's date is: " , $x; $x ++; } ?>
ראיתי תשובות פה וגם פה אבל לא כל כך הבנתי, אני די חדש ב PHP.
אשמח לעזרה או הסבר...
תודה רבה. -
@ass התשובות שהבאת לא קשורים ל-PHP אלא הם מנגנון כללי להריץ משימות לעיתים קבועות על שרתי (או מחשבי) לינוקס.
לפני הכל: האם אתה על שרת לינוקס? האם יש לך גישה לפקודות? (אני לא מכיר אחסון PHP אולי אפשר להגדיר גם בפאנל הניהול משימות cron?)ע"ע:
https://www.hamichlol.org.il/Cron
https://blog.desdelinux.net/iw/cron-crontab-explicados/ -
@ass
php היא שפה שאפשר להריץ בלי קשר לשרת:C:\php\php.exe task.php
אני סתם המצאתי נתיבים, אבל הרעיון הוא לקרוא לקוד PHP באמצעות הקובץ הרצה של PHP
הנה דוגמה של זה אצליC:\Users\User>echo "<?php echo 'hello'; ?>" > C:\php\test.php C:\Users\User>C:\php\php.exe C:\php\test.php "hello"
-
@חגי
אוקי, תודה...
יש לי בעיה מאוד דחופה:
אולי אתה יודע כיצד אפשר לשלוף ערכים מתוך מערך של שרת אחר, במקרה שלי זה שרת של ימות משיח, הגשתי בקשה לקבל את המידע מקבצים בשלוחה, וקיבלתי מערך שלם להלן המערך:stdClass Object ( [responseStatus] => OK [thisPath] => 4/1 [parentPath] => 4 [items] => Array ( [0] => stdClass Object ( [exists] => 1 [name] => 000.txt [uniqueId] => d06044038c661c3ea19787c3da4ecc36 [fileType] => BIN [size] => 78 [mtime] => 09/09/2021 23:24 [what] => ivr2:4/1/000.txt ) [1] => stdClass Object ( [exists] => 1 [name] => 000.wav [uniqueId] => e33b14aff2096f28f3af44971ea3bd00 [fileType] => AUDIO [size] => 120260 [mtime] => 09/09/2021 23:24 [duration] => 7.5135 [durationStr] => 00:08 [customerDid] => 0790000000 [meta] => stdClass Object ( [title] => 000.wav ) [source] => API [date] => 09/09/2021 23:24 [phone] => [ip] => 176.12.193.240 [what] => ivr2:4/1/000.wav ) [2] => stdClass Object ( [exists] => 1 [name] => ext.ini [uniqueId] => a0bf805dda9db699e721739563f7e903 [fileType] => INI [size] => 23 [mtime] => 09/09/2021 19:51 [what] => ivr2:4/1/ext.ini ) ) [yemotAPIVersion] => 6
איך אני יכול לשלוף משם רק את [mtime] ולהדפיס רק אותו, או להציב מחדש וכו'...
ממש ניסיתי הכל, אשמח מאוד לעזרה...
-
@ass
בשביל לקבל את הmtimeforeach ($obj->items as $value) { echo $value->mtime; }
בשביל להציב מחדש:
foreach ($obj->items as &$value) { $value = $mynewvalue; }
עריכה:
רק לציין שכבר כמה שנים טובות שלא נגעתי בPHP
(הגירסא האחרונה שהשתמשתי בה היתה 4, הגיוני שדברים השתנו מאז) -
@חגי אמר בקוד PHP שחוזר על עצמו:
@ass
בשביל לקבל את הmtimeforeach ($obj->items as $value) { echo $value->mtime; }
ווואו תודה רבה ממש הצלת אותי, תזכה למצוות....
אגב אני מקבל את כל "mtime" שבמערך:
09/09/2021 23:2409/09/2021 23:2409/09/2021 23:3409/09/2021 23:3409/09/2021 23:3509/09/2021 23:3509/09/2021 23:3609/09/2021 23:3609/09/2021 19:51
, יש דרך לקבל רק אחד?
-
@chagold
א. תודה רבה.
ב. כשלקחתי את הערך name אני מקבל בעצם שלש ערכים שונים תחת name:<?php $obj = $b; foreach ($obj->items as $value){ { $mynewvalue= $value->name; } $str = $mynewvalue; $arr = explode(" ", $str);//הפיכה למערך $n = 0;//בחירת מיקום echo $arr[$n]; echo "<br>"; }; ?>
התשובה משרת היא, שלש פרמטרים:
000.txt 000.wav ext.ini
הייתי שמח מאוד לדעת כיצד אני יכול להפוך את זה לערך מספרי או אחר בכדי לעשות לדוגמא בדיקה כזו:
if ($arr[$n] < 005){ }
שהכוונה פה היא שאם קובץ . 005.wav ומעלה לא קיים במערך אז תעשה X.