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

    נפתר קוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה

    פורום PHP
    7
    83
    2523
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ש
      שואל ברצינות @יואל נחמיה נערך לאחרונה על ידי

      @יואל-נחמיה כתב בקוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה:

      וובהוסט לא מאפשרים שימוש ב- ;shell_exec()

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

      תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • ש
        שואל ברצינות @יואל נחמיה נערך לאחרונה על ידי שואל ברצינות

        @יואל-נחמיה כתב בקוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה:

        אם כן, מה יכול להחליף את file_get_contents() ??

        curl

        <?php
        
        ini_set('display_errors', '1');
        ini_set('display_startup_errors', '1');
        error_reporting(E_ALL);
        
        $url = 'https://www.call2all.co.il/ym/api/FileAction';
        $query = [
            'token' => '0770000000:1234',
            'action' => 'copy',
            'what' => 'ivr2:3/1/***.wav',
            'target' => 'ivr2:3/1/0/***.wav',
        ];
        
        $result = call_API($url, $query); 
        var_dump( $result['code'], $result['answer'] );
        
        function call_API($url, $query = []){
            $ch = curl_init();
            
            if( !empty( $query ) ) $url .= '?'.http_build_query($query);
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_POST, false);
            curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
            // Receive server response ...
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
         
            $server_output = curl_exec($ch);
         
            $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
         
            curl_close ($ch);
            return( ['code' => $http_code, 'answer' => $server_output ] );
        }
        
        י ש 2 תגובות תגובה אחרונה תגובה ציטוט 0
        • י
          יואל נחמיה @שואל ברצינות נערך לאחרונה על ידי

          @שואל-ברצינות המענה:

          int(0) bool(false)
          

          מה זה ?

          תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • ש
            שואל ברצינות @שואל ברצינות נערך לאחרונה על ידי שואל ברצינות

            הקוד הבא מכיל ניפוי שגיאות:

            <?php
             
            ini_set('display_errors', '1');
            ini_set('display_startup_errors', '1');
            error_reporting(E_ALL);
             
            $url = 'https://www.call2all.co.il/ym/api/FileAction';
            $query = [
                'token' => '0770000000:1234',
                'action' => 'copy',
                'what' => 'ivr2:3/1/***.wav',
                'target' => 'ivr2:3/1/0/***.wav',
            ];
             
            $result = call_API($url, $query); 
            var_dump( $result['code'], $result['answer'], $result['error'] );
             
            function call_API($url, $query = []){
                $ch = curl_init();
                
                if( !empty( $query ) ) $url .= '?'.http_build_query($query);
                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch, CURLOPT_POST, false);
                curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
                // Receive server response ...
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
             
                $server_output = curl_exec($ch);
             
                if (curl_errno($ch)) {
                    $error_msg = curl_error($ch);
                }
                $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
             
                curl_close ($ch);
                return( ['code' => $http_code, 'answer' => $server_output , 'error' => ( $error_msg ?? 'no errors' )] );
            }
            
            
            י תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • י
              יואל נחמיה @שואל ברצינות נערך לאחרונה על ידי

              @שואל-ברצינות בלי

              ?>
              

              ?
              אם זה בטעות אתה לא צריך להשיב

              י ש 2 תגובות תגובה אחרונה תגובה ציטוט 0
              • י
                יואל נחמיה @יואל נחמיה נערך לאחרונה על ידי

                @יואל-נחמיה
                😕

                int(0) bool(false) string(62) " Failed connect to www.call2all.co.il:443;connection timed out"

                ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • ש
                  שואל ברצינות @יואל נחמיה נערך לאחרונה על ידי שואל ברצינות

                  @יואל-נחמיה כתב בקוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה:

                  @שואל-ברצינות בלי

                  ?>
                  

                  ?
                  אם זה בטעות אתה לא צריך להשיב

                  זה מיותר במקרה הזה, צריך את זה רק כאשר אתה משלב קוד PHP בתוך קובץ HTML

                  תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • ש
                    שואל ברצינות @יואל נחמיה נערך לאחרונה על ידי

                    @יואל-נחמיה כתב בקוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה:

                    @יואל-נחמיה
                    😕

                    int(0) bool(false) string(62) " Failed connect to www.call2all.co.il:443;connection timed out"

                    יתכן שמדובר בקובץ כבד?
                    כמה שוקל הקובץ המדובר שאתה מנסה להעביר?

                    י תגובה 1 תגובה אחרונה תגובה ציטוט 0
                    • י
                      יואל נחמיה @שואל ברצינות נערך לאחרונה על ידי יואל נחמיה

                      @שואל-ברצינות דקה...

                      אבל כשחיפשתי את זה, גיליתי שב- 000webhost.com, אתה מקבל על מה שאתה משלם ...(התכוונתי ל החינמית...)
                      הכל 'ייתכן' שנחסם...

                      ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • ש
                        שואל ברצינות @יואל נחמיה נערך לאחרונה על ידי שואל ברצינות

                        @יואל-נחמיה כתב בקוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה:

                        @שואל-ברצינות דקה...

                        אבל כשחיפשתי את זה, גיליתי שב- 000webhost.com, אתה מקבל על מה שאתה משלם ...(התכוונתי ל החינמית...)
                        הכל 'ייתכן' שנחסם...

                        לא שמעתי על הגבלה כזו של חסימת curl ב- 000webhost.com, במקרה שלך בודאי השגיאה מציגה עיכוב במענה של ימות ולא חסימה גורפת של curl
                        יתכן שיש הגבלה על זמן הריצה של הקוד, אפשר לבדוק את זה עם הקוד הבא:

                        <?php
                         
                        ini_set('display_errors', '1');
                        ini_set('display_startup_errors', '1');
                        error_reporting(E_ALL);
                         
                        $url = 'https://www.call2all.co.il/ym/api/FileAction';
                        $query = [
                            'token' => '0770000000:1234',
                            'action' => 'copy',
                            'what' => 'ivr2:3/1/***.wav',
                            'target' => 'ivr2:3/1/0/***.wav',
                        ];
                         
                        $result = call_API($url, $query); 
                        //var_dump( $result['code'], $result['answer'], $result['error'] );
                        print_r( $result['info'] );
                         
                        function call_API($url, $query = []){
                            $ch = curl_init();
                            
                            if( !empty( $query ) ) $url .= '?'.http_build_query($query);
                            curl_setopt($ch, CURLOPT_URL, $url);
                            curl_setopt($ch, CURLOPT_POST, false);
                            curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
                            // Receive server response ...
                            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                         
                            $server_output = curl_exec($ch);
                            $info = curl_getinfo($ch); 
                        
                            if (curl_errno($ch)) {
                                $error_msg = curl_error($ch);
                            }
                            $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
                         
                            curl_close ($ch);
                            return( ['code' => $http_code, 'answer' => $server_output , 'error' => ( $error_msg ?? 'no errors' ), 'info' => $info] );
                        }
                         
                        
                        
                        י ה 2 תגובות תגובה אחרונה תגובה ציטוט 0
                        • י
                          יואל נחמיה @שואל ברצינות נערך לאחרונה על ידי יואל נחמיה

                          @שואל-ברצינות

                          Warning: curl_getinfo() expects at least 1 parameter, 0 given in /storage/.../copywcurl.php on line 30
                          
                          ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • ש
                            שואל ברצינות @יואל נחמיה נערך לאחרונה על ידי

                            @יואל-נחמיה כתב בקוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה:

                            @שואל-ברצינות

                            Warning: curl_getinfo() expects at least 1 parameter, 0 given in /storage/.../copywcurl.php on line 30
                            

                            טעות שלי, ערכתי את הקוד בהודעה הקודמת

                            י תגובה 1 תגובה אחרונה תגובה ציטוט 0
                            • י
                              יואל נחמיה @שואל ברצינות נערך לאחרונה על ידי יואל נחמיה

                              @שואל-ברצינות

                              Array ( [url] => https://www.call2all.co.il/ym/api/FileAction?token=***%3A***&action=copy&what=ivr2%3A3%2F1%2F***.wav&target=ivr2%3A3%2F1%2F0%2F***.wav [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 7.010947 [namelookup_time] => 0.004131 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [redirect_url] => [primary_ip] => 207.232.31.130 [certinfo] => Array ( ) [primary_port] => 443 [local_ip] => [local_port] => 0 )
                              

                              אין לי מושג מה כתוב פה.
                              להתייאש ?

                              ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                              • ש
                                שואל ברצינות @יואל נחמיה נערך לאחרונה על ידי

                                @יואל-נחמיה כתב בקוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה:

                                url

                                האם ערכת את הפלט או שזה הפלט המקורי?

                                י תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                • י
                                  יואל נחמיה @שואל ברצינות נערך לאחרונה על ידי

                                  @שואל-ברצינות Annotation 2023-02-23 162723.png

                                  ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                  • ה
                                    הלי @שואל ברצינות נערך לאחרונה על ידי

                                    @שואל-ברצינות כתב בקוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה:

                                    @יואל-נחמיה כתב בקוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה:

                                    @שואל-ברצינות דקה...

                                    אבל כשחיפשתי את זה, גיליתי שב- 000webhost.com, אתה מקבל על מה שאתה משלם ...(התכוונתי ל החינמית...)
                                    הכל 'ייתכן' שנחסם...

                                    לא שמעתי על הגבלה כזו של חסימת curl ב- 000webhost.com, במקרה שלך בודאי השגיאה מציגה עיכוב במענה של ימות ולא חסימה גורפת של curl
                                    יתכן שיש הגבלה על זמן הריצה של הקוד, אפשר לבדוק את זה עם הקוד הבא:

                                    <?php
                                     
                                    ini_set('display_errors', '1');
                                    ini_set('display_startup_errors', '1');
                                    error_reporting(E_ALL);
                                     
                                    $url = 'https://www.call2all.co.il/ym/api/FileAction';
                                    $query = [
                                        'token' => '0770000000:1234',
                                        'action' => 'copy',
                                        'what' => 'ivr2:3/1/***.wav',
                                        'target' => 'ivr2:3/1/0/***.wav',
                                    ];
                                     
                                    $result = call_API($url, $query); 
                                    //var_dump( $result['code'], $result['answer'], $result['error'] );
                                    print_r( $result['info'] );
                                     
                                    function call_API($url, $query = []){
                                        $ch = curl_init();
                                        
                                        if( !empty( $query ) ) $url .= '?'.http_build_query($query);
                                        curl_setopt($ch, CURLOPT_URL, $url);
                                        curl_setopt($ch, CURLOPT_POST, false);
                                        curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
                                        // Receive server response ...
                                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                                     
                                        $server_output = curl_exec($ch);
                                        $info = curl_getinfo($ch); 
                                    
                                        if (curl_errno($ch)) {
                                            $error_msg = curl_error($ch);
                                        }
                                        $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
                                     
                                        curl_close ($ch);
                                        return( ['code' => $http_code, 'answer' => $server_output , 'error' => ( $error_msg ?? 'no errors' ), 'info' => $info] );
                                    }
                                     
                                    
                                    

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

                                    ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                    • ש
                                      שואל ברצינות @יואל נחמיה נערך לאחרונה על ידי שואל ברצינות

                                      @יואל-נחמיה לפי מה שאני רואה ב-stackoverflow יתכן שהפתרון שלך הוא באמצעות הארכת זמן הביצוע המקסימלי של curl:

                                      <?php
                                       
                                      ini_set('display_errors', '1');
                                      ini_set('display_startup_errors', '1');
                                      error_reporting(E_ALL);
                                       
                                      $url = 'https://www.call2all.co.il/ym/api/FileAction';
                                      $query = [
                                          'token' => '0770000000:1234',
                                          'action' => 'copy',
                                          'what' => 'ivr2:3/1/***.wav',
                                          'target' => 'ivr2:3/1/0/***.wav',
                                      ];
                                       
                                      $result = call_API($url, $query); 
                                      //var_dump( $result['code'], $result['answer'], $result['error'] );
                                      print_r( $result['info'] );
                                       
                                      function call_API($url, $query = []){
                                          $ch = curl_init();
                                          
                                          if( !empty( $query ) ) $url .= '?'.http_build_query($query);
                                          curl_setopt($ch, CURLOPT_URL, $url);
                                          curl_setopt($ch, CURLOPT_POST, false);
                                          curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
                                          // Receive server response ...
                                          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                                          curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 42);
                                       
                                          $server_output = curl_exec($ch);
                                          $info = curl_getinfo($ch); 
                                       
                                          if (curl_errno($ch)) {
                                              $error_msg = curl_error($ch);
                                          }
                                          $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
                                       
                                          curl_close ($ch);
                                          return( ['code' => $http_code, 'answer' => $server_output , 'error' => ( $error_msg ?? 'no errors' ), 'info' => $info] );
                                      }
                                       
                                      
                                      תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                      • ש
                                        שואל ברצינות @הלי נערך לאחרונה על ידי

                                        @הלי כתב בקוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה:

                                        @שואל-ברצינות כתב בקוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה:

                                        @יואל-נחמיה כתב בקוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה:

                                        @שואל-ברצינות דקה...

                                        אבל כשחיפשתי את זה, גיליתי שב- 000webhost.com, אתה מקבל על מה שאתה משלם ...(התכוונתי ל החינמית...)
                                        הכל 'ייתכן' שנחסם...

                                        לא שמעתי על הגבלה כזו של חסימת curl ב- 000webhost.com, במקרה שלך בודאי השגיאה מציגה עיכוב במענה של ימות ולא חסימה גורפת של curl
                                        יתכן שיש הגבלה על זמן הריצה של הקוד, אפשר לבדוק את זה עם הקוד הבא:

                                        <?php
                                         
                                        ini_set('display_errors', '1');
                                        ini_set('display_startup_errors', '1');
                                        error_reporting(E_ALL);
                                         
                                        $url = 'https://www.call2all.co.il/ym/api/FileAction';
                                        $query = [
                                            'token' => '0770000000:1234',
                                            'action' => 'copy',
                                            'what' => 'ivr2:3/1/***.wav',
                                            'target' => 'ivr2:3/1/0/***.wav',
                                        ];
                                         
                                        $result = call_API($url, $query); 
                                        //var_dump( $result['code'], $result['answer'], $result['error'] );
                                        print_r( $result['info'] );
                                         
                                        function call_API($url, $query = []){
                                            $ch = curl_init();
                                            
                                            if( !empty( $query ) ) $url .= '?'.http_build_query($query);
                                            curl_setopt($ch, CURLOPT_URL, $url);
                                            curl_setopt($ch, CURLOPT_POST, false);
                                            curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
                                            // Receive server response ...
                                            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                                         
                                            $server_output = curl_exec($ch);
                                            $info = curl_getinfo($ch); 
                                        
                                            if (curl_errno($ch)) {
                                                $error_msg = curl_error($ch);
                                            }
                                            $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
                                         
                                            curl_close ($ch);
                                            return( ['code' => $http_code, 'answer' => $server_output , 'error' => ( $error_msg ?? 'no errors' ), 'info' => $info] );
                                        }
                                         
                                        
                                        

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

                                        זה קוד php שמתחבר לשרת של ימות עם curl
                                        הקוד מכיל שורות שנועדו לדבג את השגיאה ולמצוא את הנתון המשמעותי - אחרי כמה זמן חוזר timeout

                                        י תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                        • י
                                          יואל נחמיה @שואל ברצינות נערך לאחרונה על ידי

                                          @שואל-ברצינות

                                          
                                          Notice: Undefined variable: cHandler in /storage/ssd4/862/20280862/public_html/copywcurl1.php on line 28
                                          
                                          Warning: curl_setopt() expects parameter 1 to be resource, null given in /storage/ssd4/862/20280862/public_html/copywcurl1.php on line 28
                                          

                                          והנ"ל (כנראה)

                                          Array ( [url] => https://www.call2all.co.il/ym/api/FileAction?token=***%3A***&action=copy&what=ivr2%3A3%2F1%2F**.wav&target=ivr2%3A3%2F1%2F0%2F**.wav [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 7.010925 [namelookup_time] => 0.004117 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [redirect_url] => [primary_ip] => 207.232.31.130 [certinfo] => Array ( ) [primary_port] => 443 [local_ip] => [local_port] => 0 )
                                          
                                          ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                          • ש
                                            שואל ברצינות @יואל נחמיה נערך לאחרונה על ידי

                                            @יואל-נחמיה כתב בקוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה:

                                            @שואל-ברצינות

                                            Notice: Undefined variable: cHandler in /storage/ssd4/862/20280862/public_html/copywcurl1.php on line 28

                                            Warning: curl_setopt() expects parameter 1 to be resource, null given in /storage/ssd4/862/20280862/public_html/copywcu

                                            תיקנתי, העיקר הוא בשורה שהוספתי להגדיר זמן ריצה ארוך יותר ל-Curl, כרגע הוא מתנתק אחרי 7 שניות

                                            י תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                            • פוסט ראשון
                                              פוסט אחרון