דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. קוד PHP שחוזר על עצמו

קוד PHP שחוזר על עצמו

מתוזמן נעוץ נעול הועבר תכנות
22 פוסטים 6 כותבים 496 צפיות 6 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • yossizY yossiz

    @ass התשובות שהבאת לא קשורים ל-PHP אלא הם מנגנון כללי להריץ משימות לעיתים קבועות על שרתי (או מחשבי) לינוקס.
    לפני הכל: האם אתה על שרת לינוקס? האם יש לך גישה לפקודות? (אני לא מכיר אחסון PHP אולי אפשר להגדיר גם בפאנל הניהול משימות cron?)

    ע"ע:

    https://www.hamichlol.org.il/Cron
    https://blog.desdelinux.net/iw/cron-crontab-explicados/

    ASSA מנותק
    ASSA מנותק
    ASS
    כתב ב נערך לאחרונה על ידי
    #3

    @yossiz
    יש לי שרת וונדוס מרוחק... (אני מתחבר אליו כמו כל חיבור לשולחן עבודה מרוחק).

    yossizY תגובה 1 תגובה אחרונה
    0
    • ASSA ASS

      @yossiz
      יש לי שרת וונדוס מרוחק... (אני מתחבר אליו כמו כל חיבור לשולחן עבודה מרוחק).

      yossizY מנותק
      yossizY מנותק
      yossiz
      כתב ב נערך לאחרונה על ידי
      #4

      @ass טוב, אז עזוב את cron כי זה לא רלוונטי, ותשתמש במתזמן המשימות.

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      ASSA תגובה 1 תגובה אחרונה
      2
      • yossizY yossiz

        @ass טוב, אז עזוב את cron כי זה לא רלוונטי, ותשתמש במתזמן המשימות.

        ASSA מנותק
        ASSA מנותק
        ASS
        כתב ב נערך לאחרונה על ידי
        #5

        @yossiz
        יש איזה מקום שאני יכול ללמוד על מתזמן משימות?

        yossizY תגובה 1 תגובה אחרונה
        0
        • ASSA ASS

          @yossiz
          יש איזה מקום שאני יכול ללמוד על מתזמן משימות?

          yossizY מנותק
          yossizY מנותק
          yossiz
          כתב ב נערך לאחרונה על ידי
          #6

          @ass זה לא מורכב כלל. הממשק אמור להיות פחות או יותר מסביר את עצמו.

          בגיגול קצר מצאתי את זה: https://shushan.co.il/הסבר-על-task-scheduler-וכיצד-ליצור-משימה-אוטומטית

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          ASSA 2 תגובות תגובה אחרונה
          2
          • yossizY yossiz

            @ass זה לא מורכב כלל. הממשק אמור להיות פחות או יותר מסביר את עצמו.

            בגיגול קצר מצאתי את זה: https://shushan.co.il/הסבר-על-task-scheduler-וכיצד-ליצור-משימה-אוטומטית

            ASSA מנותק
            ASSA מנותק
            ASS
            כתב ב נערך לאחרונה על ידי
            #7

            @yossiz
            וואו תודה על העזרה המהירה...
            גמר חתימה טובה 🙂

            תגובה 1 תגובה אחרונה
            0
            • yossizY yossiz

              @ass זה לא מורכב כלל. הממשק אמור להיות פחות או יותר מסביר את עצמו.

              בגיגול קצר מצאתי את זה: https://shushan.co.il/הסבר-על-task-scheduler-וכיצד-ליצור-משימה-אוטומטית

              ASSA מנותק
              ASSA מנותק
              ASS
              כתב ב נערך לאחרונה על ידי
              #8

              @yossiz
              הפעלתי את מתזמן המשימות, השאלה אם לא צריך שהוא יפעיל את ה PHP דרך ה localhost?

              חגיח תגובה 1 תגובה אחרונה
              0
              • ASSA ASS

                @yossiz
                הפעלתי את מתזמן המשימות, השאלה אם לא צריך שהוא יפעיל את ה PHP דרך ה localhost?

                חגיח מנותק
                חגיח מנותק
                חגי
                כתב ב נערך לאחרונה על ידי
                #9

                @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"
                
                ASSA תגובה 1 תגובה אחרונה
                3
                • חגיח חגי

                  @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"
                  
                  ASSA מנותק
                  ASSA מנותק
                  ASS
                  כתב ב נערך לאחרונה על ידי ASS
                  #10

                  @חגי
                  אוקי, תודה...
                  יש לי בעיה מאוד דחופה:
                  אולי אתה יודע כיצד אפשר לשלוף ערכים מתוך מערך של שרת אחר, במקרה שלי זה שרת של ימות משיח, הגשתי בקשה לקבל את המידע מקבצים בשלוחה, וקיבלתי מערך שלם להלן המערך:

                  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] ולהדפיס רק אותו, או להציב מחדש וכו'...

                  ממש ניסיתי הכל, אשמח מאוד לעזרה...

                  חגיח תגובה 1 תגובה אחרונה
                  0
                  • ASSA ASS

                    @חגי
                    אוקי, תודה...
                    יש לי בעיה מאוד דחופה:
                    אולי אתה יודע כיצד אפשר לשלוף ערכים מתוך מערך של שרת אחר, במקרה שלי זה שרת של ימות משיח, הגשתי בקשה לקבל את המידע מקבצים בשלוחה, וקיבלתי מערך שלם להלן המערך:

                    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] ולהדפיס רק אותו, או להציב מחדש וכו'...

                    ממש ניסיתי הכל, אשמח מאוד לעזרה...

                    חגיח מנותק
                    חגיח מנותק
                    חגי
                    כתב ב נערך לאחרונה על ידי חגי
                    #11

                    @ass
                    בשביל לקבל את הmtime

                    foreach ($obj->items as $value)
                    {
                        echo $value->mtime;
                    }
                    

                    בשביל להציב מחדש:

                    foreach ($obj->items as &$value)
                    {
                        $value = $mynewvalue;
                    }
                    

                    עריכה:
                    רק לציין שכבר כמה שנים טובות שלא נגעתי בPHP
                    (הגירסא האחרונה שהשתמשתי בה היתה 4, הגיוני שדברים השתנו מאז)

                    ASSA תגובה 1 תגובה אחרונה
                    2
                    • חגיח חגי

                      @ass
                      בשביל לקבל את הmtime

                      foreach ($obj->items as $value)
                      {
                          echo $value->mtime;
                      }
                      

                      בשביל להציב מחדש:

                      foreach ($obj->items as &$value)
                      {
                          $value = $mynewvalue;
                      }
                      

                      עריכה:
                      רק לציין שכבר כמה שנים טובות שלא נגעתי בPHP
                      (הגירסא האחרונה שהשתמשתי בה היתה 4, הגיוני שדברים השתנו מאז)

                      ASSA מנותק
                      ASSA מנותק
                      ASS
                      כתב ב נערך לאחרונה על ידי
                      #12

                      @חגי אמר בקוד PHP שחוזר על עצמו:

                      @ass
                      בשביל לקבל את הmtime

                      foreach ($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
                      

                      , יש דרך לקבל רק אחד?

                      חגיח תגובה 1 תגובה אחרונה
                      0
                      • ASSA ASS

                        @חגי אמר בקוד PHP שחוזר על עצמו:

                        @ass
                        בשביל לקבל את הmtime

                        foreach ($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
                        

                        , יש דרך לקבל רק אחד?

                        חגיח מנותק
                        חגיח מנותק
                        חגי
                        כתב ב נערך לאחרונה על ידי
                        #13

                        @ass
                        נניח והאינדקס (מיקום) של הmtime שאתה רוצה הוא $i
                        אז:

                        $obj->items[$i]->mtime
                        
                        ASSA תגובה 1 תגובה אחרונה
                        2
                        • חגיח חגי

                          @ass
                          נניח והאינדקס (מיקום) של הmtime שאתה רוצה הוא $i
                          אז:

                          $obj->items[$i]->mtime
                          
                          ASSA מנותק
                          ASSA מנותק
                          ASS
                          כתב ב נערך לאחרונה על ידי
                          #14

                          @חגי אמר בקוד PHP שחוזר על עצמו:

                          @ass
                          נניח והאינדקס (מיקום) של הmtime שאתה רוצה הוא $i
                          אז:

                          $obj->items[$i]->mtime
                          

                          אני לא יודע למה אבל זה מביא לי שגיאה, תוכל בבקשה להראות לי את הפונקציה השלמה...
                          נניח שאני רוצה רק את ה mtime שב- [0]

                          מנחםמ תגובה 1 תגובה אחרונה
                          0
                          • ASSA ASS

                            @חגי אמר בקוד PHP שחוזר על עצמו:

                            @ass
                            נניח והאינדקס (מיקום) של הmtime שאתה רוצה הוא $i
                            אז:

                            $obj->items[$i]->mtime
                            

                            אני לא יודע למה אבל זה מביא לי שגיאה, תוכל בבקשה להראות לי את הפונקציה השלמה...
                            נניח שאני רוצה רק את ה mtime שב- [0]

                            מנחםמ מנותק
                            מנחםמ מנותק
                            מנחם
                            כתב ב נערך לאחרונה על ידי
                            #15

                            @ass
                            נראה לי ש @חגי התכוון שהמשתנה $i מכיל את המיקום
                            כלומר אתה צריך להגדיר לו ש$i שווה ל-0
                            או להריץ לולאה

                            ASSA תגובה 1 תגובה אחרונה
                            0
                            • מנחםמ מנחם

                              @ass
                              נראה לי ש @חגי התכוון שהמשתנה $i מכיל את המיקום
                              כלומר אתה צריך להגדיר לו ש$i שווה ל-0
                              או להריץ לולאה

                              ASSA מנותק
                              ASSA מנותק
                              ASS
                              כתב ב נערך לאחרונה על ידי
                              #16

                              @מנחם
                              ניסתי הכל אבל לא עובד

                              $obj = $a;
                              $i = 0;
                              
                              foreach ($obj->items[$i]->mtime as $value)
                              {
                                  echo $value;
                                  
                              }
                              
                              
                              chagoldC תגובה 1 תגובה אחרונה
                              0
                              • ASSA ASS

                                @מנחם
                                ניסתי הכל אבל לא עובד

                                $obj = $a;
                                $i = 0;
                                
                                foreach ($obj->items[$i]->mtime as $value)
                                {
                                    echo $value;
                                    
                                }
                                
                                
                                chagoldC מנותק
                                chagoldC מנותק
                                chagold
                                כתב ב נערך לאחרונה על ידי chagold
                                #17

                                @ass
                                http://sandbox.onlinephpfunctions.com/code/ab045162b450f176e996a80dbc45559769c9728f

                                ASSA תגובה 1 תגובה אחרונה
                                0
                                • chagoldC chagold

                                  @ass
                                  http://sandbox.onlinephpfunctions.com/code/ab045162b450f176e996a80dbc45559769c9728f

                                  ASSA מנותק
                                  ASSA מנותק
                                  ASS
                                  כתב ב נערך לאחרונה על ידי ASS
                                  #18

                                  @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.

                                  chagoldC תגובה 1 תגובה אחרונה
                                  0
                                  • ASSA ASS

                                    @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.

                                    chagoldC מנותק
                                    chagoldC מנותק
                                    chagold
                                    כתב ב נערך לאחרונה על ידי
                                    #19

                                    @ass המרת טקסט לערך מספרי היא באמצעות פונקציית

                                    $int = intval($str)
                                    
                                    chagoldC תגובה 1 תגובה אחרונה
                                    0
                                    • chagoldC chagold

                                      @ass המרת טקסט לערך מספרי היא באמצעות פונקציית

                                      $int = intval($str)
                                      
                                      chagoldC מנותק
                                      chagoldC מנותק
                                      chagold
                                      כתב ב נערך לאחרונה על ידי
                                      #20

                                      קבלת שם קובץ בלי הסיומת כמופיע כאן

                                      ASSA תגובה 1 תגובה אחרונה
                                      0
                                      • chagoldC chagold

                                        קבלת שם קובץ בלי הסיומת כמופיע כאן

                                        ASSA מנותק
                                        ASSA מנותק
                                        ASS
                                        כתב ב נערך לאחרונה על ידי
                                        #21

                                        @chagold
                                        תודה ענקית על העזרה......
                                        שבת שלום.

                                        תגובה 1 תגובה אחרונה
                                        1
                                        • ASSA ASS

                                          שלום לכולם..

                                          עשיתי קוד קצר ב PHP שבעצם נועד לחזור על עצמו רק פעם ביום, רק שהוא רץ פעם אחת (כמו כל קוד 🙂 ) איך אני יכול לגרום לקוד לרוץ אוטומטית כל X זמן...

                                          <?php
                                          $x = date("Y-m-d");
                                          
                                          $y = date("Y-m-d");
                                          
                                          
                                          while ($x == $y){
                                              echo "Tomorrow's date is: " , $x;
                                              $x ++;
                                          } 
                                          ?>
                                          

                                          ראיתי תשובות פה וגם פה אבל לא כל כך הבנתי, אני די חדש ב PHP.
                                          אשמח לעזרה או הסבר...
                                          תודה רבה.

                                          mgm ivrM מנותק
                                          mgm ivrM מנותק
                                          mgm ivr
                                          כתב ב נערך לאחרונה על ידי
                                          #22

                                          @ass אמר בקוד PHP שחוזר על עצמו:

                                          שלום לכולם..

                                          עשיתי קוד קצר ב PHP שבעצם נועד לחזור על עצמו רק פעם ביום, רק שהוא רץ פעם אחת (כמו כל קוד 🙂 ) איך אני יכול לגרום לקוד לרוץ אוטומטית כל X זמן...

                                          <?php
                                          $x = date("Y-m-d");
                                          
                                          $y = date("Y-m-d");
                                          
                                          
                                          while ($x == $y){
                                              echo "Tomorrow's date is: " , $x;
                                              $x ++;
                                          } 
                                          ?>
                                          

                                          ראיתי תשובות פה וגם פה אבל לא כל כך הבנתי, אני די חדש ב PHP.
                                          אשמח לעזרה או הסבר...
                                          תודה רבה.

                                          לא ראיתי את הקישורים שהבאת ולכן יכול להיות שענו לך שם את מה שאני יענה.
                                          בכל זאת לא ראיתי את התשובה שאני אומר בשום מקום וחיפשתי הרבה עד שמצאתי עם עוד חבר את הדרך הנ"ל.

                                          אני רציתי לבנות בוט בטלג' וחלק מהבוט היה צורך שיופעל איזה קוד כל דקה
                                          רציתי לעשות סליפ בקוד למשך דקה, אבל אז הקוד מושבת לגמרי וזה אומר שכל הבוט מושבת,
                                          ואז ניסתי ללכת על כל מיני כיוונים של מתזמני משימות וכו' הבעיה בהם (אני השתמשתי רק בCRON) שהוא לא מדוייק לגמרי אלא בערך דקה (שניה לפה או לפה, וזה עיצבן אותי ותקע את העניין).

                                          בסוף מה שעשינו היה כך(אני מקווה שיעזור גם לך)
                                          עשינו קובץ שבו היה כתוב'

                                          sleep(59);
                                          
                                          shell_exec("wget -O /dev/null https://קישור ישיר לקובץ שאותו רצינו להפעיל");
                                          
                                          

                                          שזה גרם בעצם שיחכה דקה ויפעיל את הקובץ

                                          בקובץ הראשי שמנו

                                          shell_exec("wget -O /dev/null https://קישור ישיר לקובץ שסופר דקה");
                                          

                                          וככה היה לנו מתזמן משימות מדוייק ולא סמוך על אף גורם חיצוני

                                          אם אתה רוצה לעשות את זה רק פעם ביום אני חושב שאתה צריך סליפ עם הגדרה שונה מעל 5 דקות אבל אני לא בטוח.

                                          תגובה 1 תגובה אחרונה
                                          0
                                          • dovidD dovid העביר נושא זה מ-תכנות ב-
                                          תגובה
                                          • תגובה כנושא
                                          התחברו כדי לפרסם תגובה
                                          • מהישן לחדש
                                          • מהחדש לישן
                                          • הכי הרבה הצבעות


                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום