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

    המחלקה בטלפון

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

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

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

        @barkol בשביל מה אתה צריך את זה?
        אם אתה מעונין להעלות קובץ אני יכול לתת לך משהו ש @יוסל-ה הביא לי.

        B תגובה 1 תגובה אחרונה תגובה ציטוט 1
        • B
          BARKOL @anti malware נערך לאחרונה על ידי BARKOL

          @anti-malware אני צריך הורדה ,עריכה ב PHP והעלאה למערכת בחזרה

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

            @barkol תפנה ל @יוסל-ה

            4244046@gmail.com

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

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

              אם עדיין אפשרי להסביר באמת איך מיישמים זאת. תודה!

              תגובה 1 תגובה אחרונה תגובה ציטוט 1
              • מ
                מאיר 2000 מורחק @anti malware נערך לאחרונה על ידי

                @anti-malware
                אם אני רוצה להשתמש במחלקה של @מאזין-נלהב אז אני צריך להשתמש בכל זה?:

                <?php
                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;
                }
                }
                
                A תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • A
                  anti malware @מאיר 2000 נערך לאחרונה על ידי

                  @מאיר-2000 כאמור אני לא התמשתי אם הדבר הארוך! הזה.
                  בעזרתו של @יוסל-ה הוא הדריך אותי לעשות את זה בכמה שורות.

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