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

    מדריך התחלת עבודה עם API של ימות משיח (חלק ב').

    פורום מפתחים API
    8
    24
    2550
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ל
      לולב ואתרוג @ASS נערך לאחרונה על ידי

      @ass לא עלה לי הקובץ
      היכן אני מכניס את הפקודה הזו?
      $path = "ivr2:4/1";
      ואיך אני מפנה לשלוחה 1 תחת השלוחה הראשית?

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

        @לולב-ואתרוג אמר במדריך התחלת עבודה עם API של ימות משיח (חלק ב').:

        היכן אני מכניס את הפקודה הזו?

        שלום @לולב-ואתרוג,
        ראשית זאת לא פקודה אלא משתנה שהערך שלו זה פרמטר הנתיב, כלומר אתה מגדיר לתוכנה מראש להיכן להעלות את הקובץ.

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

        ואיך אני מפנה לשלוחה 1 תחת השלוחה הראשית?

        פשוט ככה:

        $path = "ivr2:1";
        

        או:

        $path = "ivr2:/1";
        

        ואיך אני מפנה לשלוחה 1 תחת השלוחה הראשית?

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

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

          @ass כתבתי ככה
          01/
          זו הייתה הטעות שלי
          תודה👍

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

            פוסט זה נמחק!
            תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • Y
              yonatan נערך לאחרונה על ידי yonatan

              @ASS
              התחברתי עם המחלקה וכתבתי פקודה, בסוף סגרתי עם ?>

              והוא מחזיר

              ( ! ) Parse error: syntax error, unexpected '?>', expecting ')' in C:\wamp64\www\my_php\1.php on line 260
              

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

              ( ! ) Parse error: syntax error, unexpected end of file, expecting ')' in C:\wamp64\www\my_php\1.php on line 260
              

              הקוד המלא הוא

              <?php
              
              define("URL", "https://private.call2all.co.il/ym/api/");
              $server = "private";
              
              class BodyPost
              {
              // part "multipart/form-data"
                  public static function PartPost($name, $val)
                   {
                       $body = 'Content-Disposition: form-data; name="' . $name . '"';
              // check instance of oFile
                       if($val instanceof oFile)
                        {
                            $file = $val->Name();
                            $mime = $val->Mime();
                            $cont = $val->Content();
               
                            $body .= '; filename="' . $file . '"' . "\r\n";
                            $body .= 'Content-Type: ' . $mime ."\r\n\r\n";
                            $body .= $cont."\r\n";
                        } else $body .= "\r\n\r\n".$val."\r\n";
                       return $body;
                   }
               
                  public static function Get(array $post, $delimiter = '-------------0123456789')
                   {
                       if(is_array($post) && !empty($post))
                        {
                            $bool = true;
                            //foreach($post as $val) if($val instanceof oFile) {$bool = true; break; };
                            if($bool)
                             {
                                 $ret = '';
                                 foreach($post as $name=>$val)
                                     $ret .= '--' . $delimiter. "\r\n". self::PartPost($name, $val);
                                 $ret .= "--" . $delimiter . "--\r\n";
                             } else $ret = http_build_query($post);
                        } else throw new \Exception('Error input param!');
                       return $ret;
                   }
              }
               
              class oFile
              {
                   private $name;
                   private $mime;
                   private $content;
               
                   public function __construct($name, $mime=null, $content=null)
                    {
                        if(is_null($content))
                         {
                             $info = pathinfo($name);
              // check is exist and readable file
                             if(!empty($info['basename']) && is_readable($name))
                              {
                                  $this->name = $info['basename'];
              // get MIME
                                  $this->mime = mime_content_type($name);
              // load file
                                  $content = file_get_contents($name);
                                  if($content!==false)
                                  {
                                      $this->content = $content;
                                  }
                                  else
                                  {
                                      throw new Exception('Don`t get content - "'.$name.'"');
                                  }
                              }
                              else
                              {
                                  throw new Exception('Error param');
                              }
                         }
                         else
                         {
                                 $this->name = $name;
                                 if(is_null($mime)) $mime = mime_content_type($name);
                                 $this->mime = $mime;
                                 $this->content = $content;
                          };
                    }
               
                  public function Name() { return $this->name; }
               
                  public function Mime() { return $this->mime; }
               
                  public function Content() { return $this->content; }
               
              }
               
              class connecting_to_yemot_api
              {
                  public $token;
               
                  const URL = URL;
               
                  public function __construct($user_name, $password)
                  {
                      $body = array('username' => $user_name, 'password' => $password);
               
                      $body = http_build_query($body);
               
                      $opts = array('http' => array(
               
                          'method'  => 'POST',
               
                          'header'  => "Content-Type: application/x-www-form-urlencoded",
               
                          'content' => $body,
               
                          'follow_location' => false) );
               
                       $context  = stream_context_create($opts);
               
                       $url = self::URL.'Login';
               
                          $result = file_get_contents($url, FALSE, $context);
               
                          $result = json_decode($result);
               
                          if($result -> responseStatus == 'OK')
                          {
                              $this -> token = $result -> token;
               
                              return TRUE;
                          }
                          else
                          {
                              throw new Exception('שם המשתמש או הסיסמא של המערכת שגויים');
                          }
                  }
               
                  public function __destruct()
                  {
                      $this -> connecting('Logout');
                  }
               
                  public function connecting($action, $body = array())
                  {
                      $delimiter = '----'.uniqid();
               
                      $body['token'] = $this -> token;
               
                      $body = BodyPost::Get($body, $delimiter);
               
                      $opts = array('http' =>
                              array(
                                  'method'  => 'POST',
                                  'header'  => 'Content-Type: multipart/form-data; boundary='.$delimiter,
                                  'content' => $body,
                                  'follow_location' => false
                                  )
                                );
                      $context  = stream_context_create($opts);
               
                      $url = self::URL.$action;
               
                      $result = file_get_contents($url, FALSE, $context);
               
                      $headers = $this -> parseHeaders($http_response_header);
               
                      if($headers['Content-Type'][0] == 'application/json')
                      {
                          return json_decode($result);
                      }
                      else
                      {
                          return $result;
                      }
                  }
               
                  private function parseHeaders($headers)
                  {
                      // פונקציה שמקבלת מערך של שורות הכותרות
                      // הפונקציה מפרקת את קבצי הקוקי לתת-מערך נפרד
               
               
                      // מערך הכותרות
                      $head = array();
               
                      foreach( $headers as $k=>$v )
                      {
                          $t = explode( ':', $v, 2 );
               
                          if( isset( $t[1] ) )
                          {
                              if($t[0] == 'Set-Cookie')
                              {
                                  $CookiesArr = array();
               
                                  $cookies = explode( ';', $t[1]);
               
                                  foreach($cookies as $cookie)
                                  {
                                      $c = explode( '=', $cookie);
               
                                      if( isset( $c[1] ) )
                                      {
                                          $CookiesArr[ trim($c[0]) ] = trim( $c[1] );
                                      }
                                      else
                                      {
                                          $CookiesArr[] = trim( $c[0] );
                                      }
                                  }
               
                                  $head[ trim($t[0]) ] = $CookiesArr;
                              }
                              elseif($t[0] == 'Content-Type')
                              {
                                  $arr = array();
               
                                  $children = explode( ';', $t[1]);
               
                                  foreach($children as $child)
                                  {
                                      $c = explode( '=', $child);
               
                                      if( isset( $c[1] ) )
                                      {
                                          $arr[ trim($c[0]) ] = trim( $c[1] );
                                      }
                                      else
                                      {
                                          $arr[] = trim( $c[0] );
                                      }
                                  }
               
                                  $head[ trim($t[0]) ] = $arr;
                              }
                              else
                              {
                                  $head[ trim($t[0]) ] = trim( $t[1] );
                              }
                          }
                          else
                          {
                              $head[] = $v;
                              if( preg_match( "#HTTP/[0-9\.]+\s+([0-9]+)#",$v, $out ) )
                              {
                                  $head['reponse_code'] = intval($out[1]);
                              }
                          }
                      }
                      return $head;
                  }
              }
              
              
              $con = new connecting_to_yemot_api('07*****','****');
              $token = "07******:*****";
              
              
              
              $File_list = $con -> connecting('GetSession',
              
              ?>
              
              A מ 2 תגובות תגובה אחרונה תגובה ציטוט 0
              • A
                ASS @yonatan נערך לאחרונה על ידי

                @yonatan
                היה חסר לך בשורה אחת לפני הסוף (.
                בדרך כלל שגיאות מסוג של מצפה לסיום הקובץ וכו' זה בעיה בשורות שלפני כן ולא בשורה של השגיאה.

                <?php
                define("URL", "https://private.call2all.co.il/ym/api/");
                $server = "private";
                 
                class BodyPost
                {
                // part "multipart/form-data"
                    public static function PartPost($name, $val)
                     {
                         $body = 'Content-Disposition: form-data; name="' . $name . '"';
                // check instance of oFile
                         if($val instanceof oFile)
                          {
                              $file = $val->Name();
                              $mime = $val->Mime();
                              $cont = $val->Content();
                 
                              $body .= '; filename="' . $file . '"' . "\r\n";
                              $body .= 'Content-Type: ' . $mime ."\r\n\r\n";
                              $body .= $cont."\r\n";
                          } else $body .= "\r\n\r\n".$val."\r\n";
                         return $body;
                     }
                 
                    public static function Get(array $post, $delimiter = '-------------0123456789')
                     {
                         if(is_array($post) && !empty($post))
                          {
                              $bool = true;
                              //foreach($post as $val) if($val instanceof oFile) {$bool = true; break; };
                              if($bool)
                               {
                                   $ret = '';
                                   foreach($post as $name=>$val)
                                       $ret .= '--' . $delimiter. "\r\n". self::PartPost($name, $val);
                                   $ret .= "--" . $delimiter . "--\r\n";
                               } else $ret = http_build_query($post);
                          } else throw new \Exception('Error input param!');
                         return $ret;
                     }
                }
                 
                class oFile
                {
                     private $name;
                     private $mime;
                     private $content;
                 
                     public function __construct($name, $mime=null, $content=null)
                      {
                          if(is_null($content))
                           {
                               $info = pathinfo($name);
                // check is exist and readable file
                               if(!empty($info['basename']) && is_readable($name))
                                {
                                    $this->name = $info['basename'];
                // get MIME
                                    $this->mime = mime_content_type($name);
                // load file
                                    $content = file_get_contents($name);
                                    if($content!==false)
                                    {
                                        $this->content = $content;
                                    }
                                    else
                                    {
                                        throw new Exception('Don`t get content - "'.$name.'"');
                                    }
                                }
                                else
                                {
                                    throw new Exception('Error param');
                                }
                           }
                           else
                           {
                                   $this->name = $name;
                                   if(is_null($mime)) $mime = mime_content_type($name);
                                   $this->mime = $mime;
                                   $this->content = $content;
                            };
                      }
                 
                    public function Name() { return $this->name; }
                 
                    public function Mime() { return $this->mime; }
                 
                    public function Content() { return $this->content; }
                 
                }
                 
                class connecting_to_yemot_api
                {
                    public $token;
                 
                    const URL = URL;
                 
                    public function __construct($user_name, $password)
                    {
                        $body = array('username' => $user_name, 'password' => $password);
                 
                        $body = http_build_query($body);
                 
                        $opts = array('http' => array(
                 
                            'method'  => 'POST',
                 
                            'header'  => "Content-Type: application/x-www-form-urlencoded",
                 
                            'content' => $body,
                 
                            'follow_location' => false) );
                 
                         $context  = stream_context_create($opts);
                 
                         $url = self::URL.'Login';
                 
                            $result = file_get_contents($url, FALSE, $context);
                 
                            $result = json_decode($result);
                 
                            if($result -> responseStatus == 'OK')
                            {
                                $this -> token = $result -> token;
                 
                                return TRUE;
                            }
                            else
                            {
                                throw new Exception('שם המשתמש או הסיסמא של המערכת שגויים');
                            }
                    }
                 
                    public function __destruct()
                    {
                        $this -> connecting('Logout');
                    }
                 
                    public function connecting($action, $body = array())
                    {
                        $delimiter = '----'.uniqid();
                 
                        $body['token'] = $this -> token;
                 
                        $body = BodyPost::Get($body, $delimiter);
                 
                        $opts = array('http' =>
                                array(
                                    'method'  => 'POST',
                                    'header'  => 'Content-Type: multipart/form-data; boundary='.$delimiter,
                                    'content' => $body,
                                    'follow_location' => false
                                    )
                                  );
                        $context  = stream_context_create($opts);
                 
                        $url = self::URL.$action;
                 
                        $result = file_get_contents($url, FALSE, $context);
                 
                        $headers = $this -> parseHeaders($http_response_header);
                 
                        if($headers['Content-Type'][0] == 'application/json')
                        {
                            return json_decode($result);
                        }
                        else
                        {
                            return $result;
                        }
                    }
                 
                    private function parseHeaders($headers)
                    {
                        // פונקציה שמקבלת מערך של שורות הכותרות
                        // הפונקציה מפרקת את קבצי הקוקי לתת-מערך נפרד
                 
                 
                        // מערך הכותרות
                        $head = array();
                 
                        foreach( $headers as $k=>$v )
                        {
                            $t = explode( ':', $v, 2 );
                 
                            if( isset( $t[1] ) )
                            {
                                if($t[0] == 'Set-Cookie')
                                {
                                    $CookiesArr = array();
                 
                                    $cookies = explode( ';', $t[1]);
                 
                                    foreach($cookies as $cookie)
                                    {
                                        $c = explode( '=', $cookie);
                 
                                        if( isset( $c[1] ) )
                                        {
                                            $CookiesArr[ trim($c[0]) ] = trim( $c[1] );
                                        }
                                        else
                                        {
                                            $CookiesArr[] = trim( $c[0] );
                                        }
                                    }
                 
                                    $head[ trim($t[0]) ] = $CookiesArr;
                                }
                                elseif($t[0] == 'Content-Type')
                                {
                                    $arr = array();
                 
                                    $children = explode( ';', $t[1]);
                 
                                    foreach($children as $child)
                                    {
                                        $c = explode( '=', $child);
                 
                                        if( isset( $c[1] ) )
                                        {
                                            $arr[ trim($c[0]) ] = trim( $c[1] );
                                        }
                                        else
                                        {
                                            $arr[] = trim( $c[0] );
                                        }
                                    }
                 
                                    $head[ trim($t[0]) ] = $arr;
                                }
                                else
                                {
                                    $head[ trim($t[0]) ] = trim( $t[1] );
                                }
                            }
                            else
                            {
                                $head[] = $v;
                                if( preg_match( "#HTTP/[0-9\.]+\s+([0-9]+)#",$v, $out ) )
                                {
                                    $head['reponse_code'] = intval($out[1]);
                                }
                            }
                        }
                        return $head;
                    }
                }
                 
                 
                $con = new connecting_to_yemot_api('07*****','****');
                $token = "07******:*****";
                 
                 
                 
                $File_list = $con -> connecting('GetSession')
                 
                ?>
                
                
                
                
                
                
                Y תגובה 1 תגובה אחרונה תגובה ציטוט 1
                • מ
                  מנסה מומחה @yonatan נערך לאחרונה על ידי

                  @yonatan

                  אני לא יודע בדיוק מה הבעיה ואין לי כח לבדוק שורה אחרי שורה,אבל גם אני אתמול ניסיתי להעלות קובץ עם המחלקה וזה החזיר שגיאות כל הזמן.

                  אז העתקתי את המחלקה המקורית [מהפורום הישן] וזה עבד מצויין.

                  הנה המחלקה

                  class BodyPost
                  {
                  // part "multipart/form-data"
                  public static function PartPost($name, $val)
                  {
                  $body = 'Content-Disposition: form-data; name="' . $name . '"';
                  // check instance of oFile
                  if($val instanceof oFile)
                  {
                  $file = $val->Name();
                  $mime = $val->Mime();
                  $cont = $val->Content();
                  
                  $body .= '; filename="' . $file . '"' . "\r\n";
                  $body .= 'Content-Type: ' . $mime ."\r\n\r\n";
                  $body .= $cont."\r\n";
                  } else $body .= "\r\n\r\n".$val."\r\n";
                  return $body;
                  }
                  
                  public static function Get(array $post, $delimiter = '-------------0123456789')
                  {
                  if(is_array($post) && !empty($post))
                  {
                  $bool = true;
                  //foreach($post as $val) if($val instanceof oFile) {$bool = true; break; };
                  if($bool)
                  {
                  $ret = '';
                  foreach($post as $name=>$val)
                  $ret .= '--' . $delimiter. "\r\n". self::PartPost($name, $val);
                  $ret .= "--" . $delimiter . "--\r\n";
                  } else $ret = http_build_query($post);
                  } else throw new \Exception('Error input param!');
                  return $ret;
                  }
                  }
                  
                  class oFile
                  {
                  private $name;
                  private $mime;
                  private $content;
                  
                  public function __construct($name, $mime=null, $content=null)
                  {
                  if(is_null($content))
                  {
                  $info = pathinfo($name);
                  // check is exist and readable file
                  if(!empty($info['basename']) && is_readable($name))
                  {
                  $this->name = $info['basename'];
                  // get MIME
                  $this->mime = mime_content_type($name);
                  // load file
                  $content = file_get_contents($name);
                  if($content!==false)
                  {
                  $this->content = $content;
                  }
                  else
                  {
                  throw new Exception('Don`t get content - "'.$name.'"');
                  }
                  }
                  else
                  {
                  throw new Exception('Error param');
                  }
                  }
                  else
                  {
                  $this->name = $name;
                  if(is_null($mime)) $mime = mime_content_type($name);
                  $this->mime = $mime;
                  $this->content = $content;
                  };
                  }
                  
                  public function Name() { return $this->name; }
                  
                  public function Mime() { return $this->mime; }
                  
                  public function Content() { return $this->content; }
                  
                  }
                  
                  class connecting_to_yemot_api
                  {
                  public $token;
                  
                  const URL = 'https://www.call2all.co.il/ym/api/';
                  
                  public function __construct($user_name, $password)
                  {
                  $body = array('username' => $user_name, 'password' => $password);
                  
                  $body = http_build_query($body);
                  
                  $opts = array('http' => array(
                  
                  'method' => 'POST',
                  
                  'header' => "Content-Type: application/x-www-form-urlencoded",
                  
                  'content' => $body,
                  
                  'follow_location' => false) );
                  
                  $context = stream_context_create($opts);
                  
                  $url = self::URL.'Login';
                  
                  $result = file_get_contents($url, FALSE, $context);
                  
                  $result = json_decode($result);
                  
                  if($result -> responseStatus == 'OK')
                  {
                  $this -> token = $result -> token;
                  
                  return TRUE;
                  }
                  else
                  {
                  throw new Exception('שם המשתמש או הסיסמא של המערכת שגויים');
                  }
                  }
                  
                  public function __destruct()
                  {
                  $this -> connecting('Logout');
                  }
                  
                  public function connecting($action, $body = array())
                  {
                  $delimiter = '----'.uniqid();
                  
                  $body['token'] = $this -> token;
                  
                  $body = BodyPost::Get($body, $delimiter);
                  
                  $opts = array('http' =>
                  array(
                  'method' => 'POST',
                  'header' => 'Content-Type: multipart/form-data; boundary='.$delimiter,
                  'content' => $body,
                  'follow_location' => false
                  )
                  );
                  $context = stream_context_create($opts);
                  
                  $url = self::URL.$action;
                  
                  $result = file_get_contents($url, FALSE, $context);
                  
                  $headers = $this -> parseHeaders($http_response_header);
                  
                  if($headers['Content-Type'][0] == 'application/json')
                  {
                  return json_decode($result);
                  }
                  else
                  {
                  return $result;
                  }
                  }
                  
                  private function parseHeaders($headers)
                  {
                  // פונקציה שמקבלת מערך של שורות הכותרות
                  // הפונקציה מפרקת את קבצי הקוקי לתת-מערך נפרד
                  
                  
                  // מערך הכותרות
                  $head = array();
                  
                  foreach( $headers as $k=>$v )
                  {
                  $t = explode( ':', $v, 2 );
                  
                  if( isset( $t[1] ) )
                  {
                  if($t[0] == 'Set-Cookie')
                  {
                  $CookiesArr = array();
                  
                  $cookies = explode( ';', $t[1]);
                  
                  foreach($cookies as $cookie)
                  {
                  $c = explode( '=', $cookie);
                  
                  if( isset( $c[1] ) )
                  {
                  $CookiesArr[ trim($c[0]) ] = trim( $c[1] );
                  }
                  else
                  {
                  $CookiesArr[] = trim( $c[0] );
                  }
                  }
                  
                  $head[ trim($t[0]) ] = $CookiesArr;
                  }
                  elseif($t[0] == 'Content-Type')
                  {
                  $arr = array();
                  
                  $children = explode( ';', $t[1]);
                  
                  foreach($children as $child)
                  {
                  $c = explode( '=', $child);
                  
                  if( isset( $c[1] ) )
                  {
                  $arr[ trim($c[0]) ] = trim( $c[1] );
                  }
                  else
                  {
                  $arr[] = trim( $c[0] );
                  }
                  }
                  
                  $head[ trim($t[0]) ] = $arr;
                  }
                  else
                  {
                  $head[ trim($t[0]) ] = trim( $t[1] );
                  }
                  }
                  else
                  {
                  $head[] = $v;
                  if( preg_match( "#HTTP/[0-9\.]+\s+([0-9]+)#",$v, $out ) )
                  {
                  $head['reponse_code'] = intval($out[1]);
                  }
                  }
                  }
                  return $head;
                  }
                  }
                  

                  והנה החלקים שמצרפים המקוריים

                  הזדהות [חובה]

                  /*================יצירת אובייקט(מופע) חדש====================*/
                  
                  $con = new connecting_to_yemot_api('0773137770', '0000');
                  
                  

                  שאר סוגי הפעולות לצירוף

                  /*================קבלת מספר היחידות====================*/
                  
                  $a = $con -> connecting('GetSession');
                  
                  print_r($a);
                  
                  /*===============================================================*/
                  
                  
                  
                  /*================הפעלת קמפיין====================*/
                  
                  $body = array
                  (
                  // מספר הקמפיין
                  'templateId' => '203584',
                  );
                  
                  $a = $con -> connecting('RunCampaign', $body);
                  
                  print_r($a);
                  
                  /*===============================================================*/
                  
                  
                  /*================הורדת קובץ====================*/
                  
                  $body = array
                  (
                  // נתיב הקובץ
                  'path' => 'ivr/ext.ini',
                  );
                  
                  $a = $con -> connecting('DownloadFile', $body);
                  
                  print_r($a);
                  
                  /*===============================================================*/
                  
                  
                  
                  /*================העלאת קובץ====================*/
                  
                  // יצירת הקובץ
                  $File = new oFile('ext.ini', 'text/plain', 'type=menu');
                  
                  $body = array
                  (
                  'path' => 'ivr/ext.ini',
                  'convertAudio' => 0,
                  'fileUpload' => $File
                  );
                  
                  $a = $con -> connecting('UploadFile', $body);
                  
                  print_r($a);
                  
                  /*===============================================================*/
                  להלן המחלקה:
                  קוד: בחירת הכל
                  

                  מקור

                  וקרדיט ענק ל @מאזין-נלהב

                  תגובה 1 תגובה אחרונה תגובה ציטוט 1
                  • Y
                    yonatan @ASS נערך לאחרונה על ידי

                    @ass עכשיו אין שגיאה אבל לא מחזיר נתונים

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

                      @yonatan

                      כי לא כתבת לו להחזיר נתונים

                      תוסיף את זה

                      print_r $File_list;
                      
                      Y תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • Y
                        yonatan @מנסה נערך לאחרונה על ידי

                        @מנסה הוא מחזיר שיש לו בעיה עם השורה הזאת

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

                          @yonatan

                          ערכתי אותה מקודם

                          תנסה

                          print_r ($File_list);
                          

                          אם לא אז תנסה

                          print $File_list;
                          
                          
                          Y תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • Y
                            yonatan @מנסה נערך לאחרונה על ידי

                            @מנסה לא עובד

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

                              @yonatan
                              אולי תעלה פה את הקוד המלא (אני מניח שעדכנת אותו מאז הפוסט הקודם ) ואני יבדוק אצלי.

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

                                כתבתי ככה ועושה לי שגיאה מה הבעיה?

                                <?php

                                echo "זה קוד PHP";
                                //בשרת רגיל
                                define("URL", "https://www.call2all.co.il/ym/api/");
                                //בשרת פרייבט
                                //define("URL", "https://private.call2all.co.il/ym/api/");
                                //בשרת רגיל
                                //משתנה כדי למנוע בעיות בהעלאת קבצים בהמשך
                                $server = "www";
                                //בשרת פרייבט
                                //$server = "private";
                                class BodyPost
                                {
                                // part "multipart/form-data"
                                public static function PartPost($name, $val)
                                {
                                $body = 'Content-Disposition: form-data; name="' . $name . '"';
                                // check instance of oFile
                                if($val instanceof oFile)
                                {
                                $file = $val->Name();
                                $mime = $val->Mime();
                                $cont = $val->Content();

                                          $body .= '; filename="' . $file . '"' . "\r\n";
                                          $body .= 'Content-Type: ' . $mime ."\r\n\r\n";
                                          $body .= $cont."\r\n";
                                      } else $body .= "\r\n\r\n".$val."\r\n";
                                     return $body;
                                 }
                                
                                public static function Get(array $post, $delimiter = '-------------0123456789')
                                 {
                                     if(is_array($post) && !empty($post))
                                      {
                                          $bool = true;
                                          //foreach($post as $val) if($val instanceof oFile) {$bool = true; break; };
                                          if($bool)
                                           {
                                               $ret = '';
                                               foreach($post as $name=>$val)
                                                   $ret .= '--' . $delimiter. "\r\n". self::PartPost($name, $val);
                                               $ret .= "--" . $delimiter . "--\r\n";
                                           } else $ret = http_build_query($post);
                                      } else throw new \Exception('Error input param!');
                                     return $ret;
                                 }
                                

                                }

                                class oFile
                                {
                                private $name;
                                private $mime;
                                private $content;

                                 public function __construct($name, $mime=null, $content=null)
                                  {
                                      if(is_null($content))
                                       {
                                           $info = pathinfo($name);
                                

                                // check is exist and readable file
                                if(!empty($info['basename']) && is_readable($name))
                                {
                                $this->name = $info['basename'];
                                // get MIME
                                $this->mime = mime_content_type($name);
                                // load file
                                $content = file_get_contents($name);
                                if($content!==false)
                                {
                                $this->content = $content;
                                }
                                else
                                {
                                throw new Exception('Don`t get content - "'.$name.'"');
                                }
                                }
                                else
                                {
                                throw new Exception('Error param');
                                }
                                }
                                else
                                {
                                $this->name = $name;
                                if(is_null($mime)) $mime = mime_content_type($name);
                                $this->mime = $mime;
                                $this->content = $content;
                                };
                                }

                                public function Name() { return $this->name; }
                                
                                public function Mime() { return $this->mime; }
                                
                                public function Content() { return $this->content; }
                                

                                }

                                class connecting_to_yemot_api
                                {
                                public $token;

                                const URL = URL;
                                
                                public function __construct($user_name, $password)
                                {
                                    $body = array('username' => $user_name, 'password' => $password);
                                
                                    $body = http_build_query($body);
                                
                                    $opts = array('http' => array(
                                
                                        'method'  => 'POST',
                                
                                        'header'  => "Content-Type: application/x-www-form-urlencoded",
                                
                                        'content' => $body,
                                
                                        'follow_location' => false) );
                                
                                     $context  = stream_context_create($opts);
                                
                                     $url = self::URL.'Login';
                                
                                        $result = file_get_contents($url, FALSE, $context);
                                
                                        $result = json_decode($result);
                                
                                        if($result -> responseStatus == 'OK')
                                        {
                                            $this -> token = $result -> token;
                                
                                            return TRUE;
                                        }
                                        else
                                        {
                                            throw new Exception('שם המשתמש או הסיסמא של המערכת שגויים');
                                        }
                                }
                                
                                public function __destruct()
                                {
                                    $this -> connecting('Logout');
                                }
                                
                                public function connecting($action, $body = array())
                                {
                                    $delimiter = '----'.uniqid();
                                
                                    $body['token'] = $this -> token;
                                
                                    $body = BodyPost::Get($body, $delimiter);
                                
                                    $opts = array('http' =>
                                            array(
                                                'method'  => 'POST',
                                                'header'  => 'Content-Type: multipart/form-data; boundary='.$delimiter,
                                                'content' => $body,
                                                'follow_location' => false
                                                )
                                              );
                                    $context  = stream_context_create($opts);
                                
                                    $url = self::URL.$action;
                                
                                    $result = file_get_contents($url, FALSE, $context);
                                
                                    $headers = $this -> parseHeaders($http_response_header);
                                
                                    if($headers['Content-Type'][0] == 'application/json')
                                    {
                                        return json_decode($result);
                                    }
                                    else
                                    {
                                        return $result;
                                    }
                                }
                                
                                private function parseHeaders($headers)
                                {
                                    // פונקציה שמקבלת מערך של שורות הכותרות
                                    // הפונקציה מפרקת את קבצי הקוקי לתת-מערך נפרד
                                
                                
                                    // מערך הכותרות
                                    $head = array();
                                
                                    foreach( $headers as $k=>$v )
                                    {
                                        $t = explode( ':', $v, 2 );
                                
                                        if( isset( $t[1] ) )
                                        {
                                            if($t[0] == 'Set-Cookie')
                                            {
                                                $CookiesArr = array();
                                
                                                $cookies = explode( ';', $t[1]);
                                
                                                foreach($cookies as $cookie)
                                                {
                                                    $c = explode( '=', $cookie);
                                
                                                    if( isset( $c[1] ) )
                                                    {
                                                        $CookiesArr[ trim($c[0]) ] = trim( $c[1] );
                                                    }
                                                    else
                                                    {
                                                        $CookiesArr[] = trim( $c[0] );
                                                    }
                                                }
                                
                                                $head[ trim($t[0]) ] = $CookiesArr;
                                            }
                                            elseif($t[0] == 'Content-Type')
                                            {
                                                $arr = array();
                                
                                                $children = explode( ';', $t[1]);
                                
                                                foreach($children as $child)
                                                {
                                                    $c = explode( '=', $child);
                                
                                                    if( isset( $c[1] ) )
                                                    {
                                                        $arr[ trim($c[0]) ] = trim( $c[1] );
                                                    }
                                                    else
                                                    {
                                                        $arr[] = trim( $c[0] );
                                                    }
                                                }
                                
                                                $head[ trim($t[0]) ] = $arr;
                                            }
                                            else
                                            {
                                                $head[ trim($t[0]) ] = trim( $t[1] );
                                            }
                                        }
                                        else
                                        {
                                            $head[] = $v;
                                            if( preg_match( "#HTTP/[0-9\.]+\s+([0-9]+)#",$v, $out ) )
                                            {
                                                $head['reponse_code'] = intval($out[1]);
                                            }
                                        }
                                    }
                                    return $head;
                                }
                                

                                }
                                //שם משתמש וסיסמא של המערכת
                                $con = new connecting_to_yemot_api('077*****','');
                                $token = "077
                                :****";

                                //נתיב
                                $path = "ivr2:/2";

                                // פונקציה למספרי קבצים עוקבים
                                function FileNameToUpload($server, $token, $path){
                                $array = json_decode(file_get_contents("https://$server.call2all.co.il/ym/api//GetIVR2Dir?token=$token&path=$path"),true);
                                if($array["responseStatus"] == "OK"){
                                foreach($array["files"] as $key => $value){
                                if($value["fileType"] == "AUDIO" || $value["fileType"] == "TTS"){
                                $split = explode(".",$value["name"]);
                                if (is_numeric($split[0])){
                                break;
                                }
                                }
                                }
                                if($split[0] == null){
                                $NewFileName = 0;
                                }else{
                                $NewFileName = $split[0]+1;
                                }
                                //הפוך למינימום 3 ספרות/
                                return str_pad($NewFileName,3,"0",STR_PAD_LEFT);
                                }else{
                                //במקרה של שגיאה
                                echo "שגיאה";

                                }
                                

                                }
                                // קריאה לפונקציה.
                                $NewFileName = FileNameToUpload($server,$token,$path);
                                if($NewFileName != null){
                                //מכריז על שם של נתיב הקובץ להעלאה
                                $path_name = "$path/$NewFileName.wav";
                                }

                                //מאיפה לקחת את הקובץ
                                $File = new oFile('ext.ini', 'text/plain', file_get_contents("...."));

                                //להעלאת קבצים פקודה
                                $Upload_order = $con -> connecting('UploadFile',
                                [
                                //טוקן
                                'path' =>$path_name,
                                //המרה ל-wav אם מוגדר על 1 הקובץ יומר אם מוגדר על 0 לא
                                'convertAudio' => 1,
                                //קובץ להעלאה
                                'fileUpload' => $File
                                ]
                                );

                                ?>

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

                                  @מנחם-עזריה
                                  איפה הוא נותן לך שגיאה בטלפון או בדפדפן?

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

                                    @ASS את כל מה שאתה אומר להעתיק זה לאותו קובץ ראשון שפתחתי?

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

                                      @שמואל-מאיר כתב במדריך התחלת עבודה עם API של ימות משיח (חלק ב').:

                                      אותו קובץ ראשון שפתחתי?

                                      בדיוק

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

                                        @ASS עשיתי את כל מה שרשום וזה לא אומר שגיאה וגם לא מעלה את הקובץ לשלוחה.

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

                                          פוסט זה נמחק!
                                          ל תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                          • ל
                                            לעזור לכולם מומחה @שמואל מאיר נערך לאחרונה על ידי

                                            @שמואל-מאיר
                                            זה אומר שאין לך מספיק מקום בשרת ואתה צריך להגדיל את הנפח שלו

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