• הרשמה
    • התחברות
    • חיפוש
    • דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • קבלת התראות מהדפדפן
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    1. דף הבית
    2. ירחמיאל
    י
    • פרופיל
    • עוקב אחרי 0
    • עוקבים 1
    • נושאים 6
    • פוסטים 17
    • הגבוה ביותר 4
    • שנוי במחלוקת 0
    • קבוצות 0

    ירחמיאל

    @ירחמיאל

    4
    מוניטין
    12
    צפיות בפרופיל
    17
    פוסטים
    1
    עוקבים
    0
    עוקב אחרי
    הצטרף ב- התחבר לאחרונה

    ירחמיאל הפסק לעקוב עקוב

    הפוסטים הטובים ביותר שנוצרו על ידי ירחמיאל

    • RE: עזרה בהעתקת קובץ למערכת אחרת

      @dudu
      לפי הידוע לי זה משנה רק ב-API החדשים כגון העתקת/העברת/מחיקת קבצים.
      בכל אופן ניסיתי עכשיו עם ivr2 ועדיין אותו דבר.

      פורסם בפורום PHP
      י
      ירחמיאל
    • קו לבחירות - איך עושים

      אני צריך שלוחה לבחירות שהולך להיות אצלנו בכולל
      זה הולך להיות כ-30 מועמדים וכל אחד יכול לבחור 8
      כמובן שיהיה זיהוי לפי טלפון

      איך עושים שיוכלו לבחור 8 מתוך 30?
      ולא יוכלו לבחור פעמיים?
      וגם לא יוכלו לבחור את אותו מועמד פעמיים?

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

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

      פורסם בפורום מפתחים API
      י
      ירחמיאל
    • RE: קו לבחירות - איך עושים

      @שואל-ברצינות אמר בקו לבחירות - איך עושים:

      קבלת נתונים, אפשר להגדיר 8 שאלות, ולהגדיר בכל אחת בערך העשירי

      CheckNoDoubleFromEnter
      

      כפי המפורט שם בהרחבה

      תודה רבה
      זה אומר לעשות קבלת נתונים פשוט עם 8 שאלות שא"א לענות פעמיים אותו תשובה
      איך מגדירים שיוכלו לענות בקבלת נתונים רק פעם אחת?

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

    פוסטים אחרונים שנוצרו על ידי ירחמיאל

    • RE: עזרה בהעתקת קובץ למערכת אחרת

      @אהרן-שובקס
      לא

      פורסם בפורום PHP
      י
      ירחמיאל
    • RE: עזרה בהעתקת קובץ למערכת אחרת

      @אהרן-שובקס
      זה כל הקוד, עם המחלקה:

      $url = file_get_contents('https://www.call2all.co.il/ym/api/DownloadFile?token=048******:****&path=ivr2:1/1/3186.wav');
      
       
       
      $con = new connecting_to_yemot_api('025******', '****');
      
      $body = array
      (
      'path' => 'ivr2:3/951.wav',
      'convertAudio' => 1,
      'fileUpload' => $url
      );
       
      $a = $con -> connecting('UploadFile', $body);
       
      print_r($a);
      
       /*===============================================================*/
      
      
      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;
          }
      }
      

      וזה התגובה:

      stdClass Object ( [yemotAPIVersion] => 6 [responseStatus] => EXCEPTION [message] => Invalid WS request )
      
      פורסם בפורום PHP
      י
      ירחמיאל
    • RE: עזרה בהעתקת קובץ למערכת אחרת

      אין אף אחד שיכול לעזור בזה?
      @sbb0799 @bc98400 @baror230

      פורסם בפורום PHP
      י
      ירחמיאל
    • RE: עזרה בהעתקת קובץ למערכת אחרת

      @dudu
      צודק.
      היה חסר ()file_get_contents
      הוספתי, ועכשיו יש שגיאה אחרת.
      הנה הקוד המעודכן:

      $url = file_get_contents('https://www.call2all.co.il/ym/api/DownloadFile?token=048******:****&path=ivr2:1/1/951.wav');
       
      $con = new connecting_to_yemot_api('025*****', '****');
       
      $body = array
      (
      'path' => 'ivr/3/951.wav',
      'convertAudio' => 0,
      'fileUpload' => $url
      );
       
      $a = $con -> connecting('UploadFile', $body);
       
      print_r($a);
      
      

      ועכשיו השגיאה היא:

      stdClass Object ( [yemotAPIVersion] => 6 [responseStatus] => EXCEPTION [message] => Invalid WS request )
      

      עריכה: עכשיו כבר נשלח למייל דרך PHPMailer , רק העלאה לקו אחר לא עובד.

      פורסם בפורום PHP
      י
      ירחמיאל
    • RE: עזרה בהעתקת קובץ למערכת אחרת

      @dudu
      לפי הידוע לי זה משנה רק ב-API החדשים כגון העתקת/העברת/מחיקת קבצים.
      בכל אופן ניסיתי עכשיו עם ivr2 ועדיין אותו דבר.

      פורסם בפורום PHP
      י
      ירחמיאל
    • RE: עזרה בהעתקת קובץ למערכת אחרת

      @dudu
      זה היה טעות בהעתקה.
      (זה נשמט בעת מחיקת הסיסמה).
      בקובץ זה כתוב נכון.
      וזה השגיאות.
      תיקנתי את הפוסט.

      פורסם בפורום PHP
      י
      ירחמיאל
    • RE: עזרה בהעתקת קובץ למערכת אחרת

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


      $url = 'https://www.call2all.co.il/ym/api/DownloadFile?&token=048******:****&path=ivr/1/1/951.wav';
      
      $con = new connecting_to_yemot_api('025*****', '****');
      
      $body = array
      (
      'path' => 'ivr/3/951.wav',
      'convertAudio' => 0,
      'fileUpload' => $url
      );
       
      $a = $con -> connecting('UploadFile', $body);
       
      print_r($a);
      

      וזה השגיאה:

      stdClass Object ( [responseStatus] => ERROR [message] => System error [messageCode] => 105 [yemotAPIVersion] => 6 )
      

      ניסיתי גם לשלוח המרה convertAudio' => 1' ועדיין מחזיר אותו שגיאה.

      פורסם בפורום PHP
      י
      ירחמיאל
    • RE: עזרה בהעתקת קובץ למערכת אחרת

      אין כאן משהו שמבין בזה?

      פורסם בפורום PHP
      י
      ירחמיאל
    • עזרה בהעתקת קובץ למערכת אחרת

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

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

      עריכה (ניסיתי לשלוח את הקובץ למייל עם PHPMailer וזה עובד מצוין, רק העברה ממערכת למערכת לא הולך לי.)

      פורסם בפורום PHP
      י
      ירחמיאל
    • מספרי חו"ל

      לאיזה מדינות יש מספרים?
      ומה העלויות של המספרים?

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