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

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

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

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

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

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

    חגיח תגובה 1 תגובה אחרונה
    0
    • חגיח מנותק
      חגיח מנותק
      חגי
      השיב לASS ב נערך לאחרונה על ידי
      #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
      • 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
        • חגיח מנותק
          חגיח מנותק
          חגי
          השיב לASS ב נערך לאחרונה על ידי חגי
          #11

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

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

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

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

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

          ASSA תגובה 1 תגובה אחרונה
          2
          • 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
            • חגיח מנותק
              חגיח מנותק
              חגי
              השיב לASS ב נערך לאחרונה על ידי
              #13

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

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

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

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

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

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

                מנחםמ תגובה 1 תגובה אחרונה
                0
                • מנחםמ מנותק
                  מנחםמ מנותק
                  מנחם
                  השיב לASS ב נערך לאחרונה על ידי
                  #15

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

                  ASSA תגובה 1 תגובה אחרונה
                  0
                  • ASSA מנותק
                    ASSA מנותק
                    ASS
                    השיב למנחם ב נערך לאחרונה על ידי
                    #16

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

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

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

                      ASSA תגובה 1 תגובה אחרונה
                      0
                      • ASSA מנותק
                        ASSA מנותק
                        ASS
                        השיב לchagold ב נערך לאחרונה על ידי 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
                        • chagoldC מנותק
                          chagoldC מנותק
                          chagold
                          השיב לASS ב נערך לאחרונה על ידי
                          #19

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

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

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

                            ASSA תגובה 1 תגובה אחרונה
                            0
                            • ASSA מנותק
                              ASSA מנותק
                              ASS
                              השיב לchagold ב נערך לאחרונה על ידי
                              #21

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

                              תגובה 1 תגובה אחרונה
                              1
                              • mgm ivrM מנותק
                                mgm ivrM מנותק
                                mgm ivr
                                השיב לASS ב נערך לאחרונה על ידי
                                #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
                                • דף הבית
                                • קטגוריות
                                • פוסטים אחרונים
                                • משתמשים
                                • חיפוש
                                • חוקי הפורום