3v4l.org

run code in 300+ PHP versions simultaneously
<?php $cookie_file = "cookie.txt"; $urlimdbapi='https://gdata.youtube.com/feeds/api/videos?q=Batman trailer&max-results=1&v=2.1&alt=jsonc&format=5'; $imdbapiresult=new CustomCURL($urlimdbapi, $cookie_file); $imdbresult=$imdbapiresult->send(); $imdbs_info=json_decode($imdbresult['content'], true); print_r($imdbs_info); class CustomCURL{ private $fsocket; private $header; private $method; private $postdata; private $cookie_file; public static $responseHeaders; public static $custom_curl; function __construct($url, $cookie_file){ $this->method='GET'; $this->fsocket = curl_init(); $this->setopt(CURLOPT_URL, $url); $this->setopt(CURLOPT_COOKIEFILE, realpath($cookie_file)); $this->setopt(CURLOPT_COOKIEJAR, realpath($cookie_file)); $this->setopt(CURLOPT_TIMEOUT, 0); $this->setopt(CURLOPT_RETURNTRANSFER, 1); $this->setopt(CURLOPT_MAXREDIRS, 10); $this->setopt(CURLOPT_CONNECTTIMEOUT, 30); $this->setopt(CURLOPT_FOLLOWLOCATION, 1); $this->setopt(CURLOPT_AUTOREFERER, 1); $this->setopt(CURLINFO_HEADER_OUT, 1); $this->setopt(CURLOPT_HEADER, 0); $this->setopt(CURLOPT_VERBOSE, 0); $this->setopt(CURLOPT_SSL_VERIFYPEER, 0); $this->setopt(CURLOPT_SSL_VERIFYHOST, 0); self::$responseHeaders=array(); $this->setopt(CURLOPT_HEADERFUNCTION,array('CustomCURL','headerFunction')); $this->cookie_file=$cookie_file; } static function headerFunction($ch, $header){ $vars=explode(':',$header,2); self::$responseHeaders[strtolower(trim($vars[0]))]=isset($vars[1])?trim($vars[1]):''; return strlen($header); } function setopt($opt, $value){ return curl_setopt($this->fsocket, $opt, $value); } function setHeaders($array){ return $this->header = $array; } function setPostData($array, $isMultipart = true){ $this->method='POST'; if($isMultipart){ $this->postdata = $array; }else{ $post=''; foreach($array as $key=>$val){ if(is_array($val)){ foreach($val as $subval){ if($post!=''){ $post.='&'; } $post.=urlencode($key).'='.urlencode($subval); } }else{ if($post!=''){ $post.='&'; } $post.=urlencode($key).'='.urlencode($val); } } $this->postdata = $post; } } function send($forMulti=false){ if(!empty($this->header)){ $this->setopt(CURLOPT_HTTPHEADER, $this->header); } if($this->method=='POST' && !empty($this->postdata)){ $this->setopt(CURLOPT_POST, 1); $this->setopt(CURLOPT_POSTFIELDS, $this->postdata); } if($forMulti){ return $this->fsocket; } $exec = curl_exec($this->fsocket); if(curl_errno($this->fsocket)){ $result['error'] = curl_error($this->fsocket); }else{ $result['post_data'] = $this->postdata; $result['content'] = $exec; $result['info'] = curl_getinfo($this->fsocket); $result['info']['request_headers']=curl_getinfo($this->fsocket, CURLINFO_HEADER_OUT); $result['info']['response_headers']=self::$responseHeaders; } $this->debug($result, $this->cookie_file); return $result; } function debug($result,$cookie){ /* ============================== THIS IS FOR DEBUGGING PURPOSES ============================== Comment return; to trace output */ return; echo '<h1>',$result['info']['url'],'</h1>'; echo '<h2>Content</h2>'; echo '<pre>',htmlspecialchars($result['content']),'</pre>'; echo '<h2>Cookies</h2>'; echo '<pre>',@file_get_contents($cookie),'</pre>'; echo '<h2>Post Data</h2>'; echo '<pre>'; print_r($result['post_data']); echo '</pre>'; echo '<h2>Other Info</h2>'; echo '<pre>'; print_r($result['info']); echo '</pre>'; flush(); usleep(100); } function close(){ curl_close($this->fsocket); $this->header = array(); $this->postdata = array(); } }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/tvCQa
function name:  (null)
number of ops:  20
compiled vars:  !0 = $cookie_file, !1 = $urlimdbapi, !2 = $imdbapiresult, !3 = $imdbresult, !4 = $imdbs_info
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, 'cookie.txt'
    5     1        ASSIGN                                                   !1, 'https%3A%2F%2Fgdata.youtube.com%2Ffeeds%2Fapi%2Fvideos%3Fq%3DBatman+trailer%26max-results%3D1%26v%3D2.1%26alt%3Djsonc%26format%3D5'
    6     2        NEW                                              $7      'CustomCURL'
          3        SEND_VAR_EX                                              !1
          4        SEND_VAR_EX                                              !0
          5        DO_FCALL                                      0          
          6        ASSIGN                                                   !2, $7
    7     7        INIT_METHOD_CALL                                         !2, 'send'
          8        DO_FCALL                                      0  $10     
          9        ASSIGN                                                   !3, $10
    8    10        INIT_FCALL                                               'json_decode'
         11        FETCH_DIM_R                                      ~12     !3, 'content'
         12        SEND_VAL                                                 ~12
         13        SEND_VAL                                                 <true>
         14        DO_ICALL                                         $13     
         15        ASSIGN                                                   !4, $13
   10    16        INIT_FCALL                                               'print_r'
         17        SEND_VAR                                                 !4
         18        DO_ICALL                                                 
  137    19      > RETURN                                                   1

Class CustomCURL:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/tvCQa
function name:  __construct
number of ops:  94
compiled vars:  !0 = $url, !1 = $cookie_file
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   21     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   22     2        ASSIGN_OBJ                                               'method'
          3        OP_DATA                                                  'GET'
   23     4        INIT_FCALL_BY_NAME                                       'curl_init'
          5        DO_FCALL                                      0  $4      
          6        ASSIGN_OBJ                                               'fsocket'
          7        OP_DATA                                                  $4
   24     8        INIT_METHOD_CALL                                         'setopt'
          9        FETCH_CONSTANT                                   ~5      'CURLOPT_URL'
         10        SEND_VAL_EX                                              ~5
         11        SEND_VAR_EX                                              !0
         12        DO_FCALL                                      0          
   25    13        INIT_METHOD_CALL                                         'setopt'
         14        FETCH_CONSTANT                                   ~7      'CURLOPT_COOKIEFILE'
         15        SEND_VAL_EX                                              ~7
         16        INIT_FCALL                                               'realpath'
         17        SEND_VAR                                                 !1
         18        DO_ICALL                                         $8      
         19        SEND_VAR_NO_REF_EX                                       $8
         20        DO_FCALL                                      0          
   26    21        INIT_METHOD_CALL                                         'setopt'
         22        FETCH_CONSTANT                                   ~10     'CURLOPT_COOKIEJAR'
         23        SEND_VAL_EX                                              ~10
         24        INIT_FCALL                                               'realpath'
         25        SEND_VAR                                                 !1
         26        DO_ICALL                                         $11     
         27        SEND_VAR_NO_REF_EX                                       $11
         28        DO_FCALL                                      0          
   27    29        INIT_METHOD_CALL                                         'setopt'
         30        FETCH_CONSTANT                                   ~13     'CURLOPT_TIMEOUT'
         31        SEND_VAL_EX                                              ~13
         32        SEND_VAL_EX                                              0
         33        DO_FCALL                                      0          
   28    34        INIT_METHOD_CALL                                         'setopt'
         35        FETCH_CONSTANT                                   ~15     'CURLOPT_RETURNTRANSFER'
         36        SEND_VAL_EX                                              ~15
         37        SEND_VAL_EX                                              1
         38        DO_FCALL                                      0          
   29    39        INIT_METHOD_CALL                                         'setopt'
         40        FETCH_CONSTANT                                   ~17     'CURLOPT_MAXREDIRS'
         41        SEND_VAL_EX                                              ~17
         42        SEND_VAL_EX                                              10
         43        DO_FCALL                                      0          
   30    44        INIT_METHOD_CALL                                         'setopt'
         45        FETCH_CONSTANT                                   ~19     'CURLOPT_CONNECTTIMEOUT'
         46        SEND_VAL_EX                                              ~19
         47        SEND_VAL_EX                                              30
         48        DO_FCALL                                      0          
   31    49        INIT_METHOD_CALL                                         'setopt'
         50        FETCH_CONSTANT                                   ~21     'CURLOPT_FOLLOWLOCATION'
         51        SEND_VAL_EX                                              ~21
         52        SEND_VAL_EX                                              1
         53        DO_FCALL                                      0          
   32    54        INIT_METHOD_CALL                                         'setopt'
         55        FETCH_CONSTANT                                   ~23     'CURLOPT_AUTOREFERER'
         56        SEND_VAL_EX                                              ~23
         57        SEND_VAL_EX                                              1
         58        DO_FCALL                                      0          
   33    59        INIT_METHOD_CALL                                         'setopt'
         60        FETCH_CONSTANT                                   ~25     'CURLINFO_HEADER_OUT'
         61        SEND_VAL_EX                                              ~25
         62        SEND_VAL_EX                                              1
         63        DO_FCALL                                      0          
   34    64        INIT_METHOD_CALL                                         'setopt'
         65        FETCH_CONSTANT                                   ~27     'CURLOPT_HEADER'
         66        SEND_VAL_EX                                              ~27
         67        SEND_VAL_EX                                              0
         68        DO_FCALL                                      0          
   35    69        INIT_METHOD_CALL                                         'setopt'
         70        FETCH_CONSTANT                                   ~29     'CURLOPT_VERBOSE'
         71        SEND_VAL_EX                                              ~29
         72        SEND_VAL_EX                                              0
         73        DO_FCALL                                      0          
   36    74        INIT_METHOD_CALL                                         'setopt'
         75        FETCH_CONSTANT                                   ~31     'CURLOPT_SSL_VERIFYPEER'
         76        SEND_VAL_EX                                              ~31
         77        SEND_VAL_EX                                              0
         78        DO_FCALL                                      0          
   37    79        INIT_METHOD_CALL                                         'setopt'
         80        FETCH_CONSTANT                                   ~33     'CURLOPT_SSL_VERIFYHOST'
         81        SEND_VAL_EX                                              ~33
         82        SEND_VAL_EX                                              0
         83        DO_FCALL                                      0          
   38    84        ASSIGN_STATIC_PROP                                       'responseHeaders'
         85        OP_DATA                                                  <array>
   39    86        INIT_METHOD_CALL                                         'setopt'
         87        FETCH_CONSTANT                                   ~36     'CURLOPT_HEADERFUNCTION'
         88        SEND_VAL_EX                                              ~36
         89        SEND_VAL_EX                                              <array>
         90        DO_FCALL                                      0          
   40    91        ASSIGN_OBJ                                               'cookie_file'
         92        OP_DATA                                                  !1
   41    93      > RETURN                                                   null

End of function __construct

Function headerfunction:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 23
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/tvCQa
function name:  headerFunction
number of ops:  30
compiled vars:  !0 = $ch, !1 = $header, !2 = $vars
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   43     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   44     2        INIT_FCALL                                               'explode'
          3        SEND_VAL                                                 '%3A'
          4        SEND_VAR                                                 !1
          5        SEND_VAL                                                 2
          6        DO_ICALL                                         $3      
          7        ASSIGN                                                   !2, $3
   45     8        INIT_FCALL                                               'strtolower'
          9        INIT_FCALL                                               'trim'
         10        FETCH_DIM_R                                      ~6      !2, 0
         11        SEND_VAL                                                 ~6
         12        DO_ICALL                                         $7      
         13        SEND_VAR                                                 $7
         14        DO_ICALL                                         $8      
         15        ISSET_ISEMPTY_DIM_OBJ                         0          !2, 1
         16      > JMPZ                                                     ~10, ->23
         17    >   INIT_FCALL                                               'trim'
         18        FETCH_DIM_R                                      ~11     !2, 1
         19        SEND_VAL                                                 ~11
         20        DO_ICALL                                         $12     
         21        QM_ASSIGN                                        ~13     $12
         22      > JMP                                                      ->24
         23    >   QM_ASSIGN                                        ~13     ''
         24    >   FETCH_STATIC_PROP_W          unknown             $5      'responseHeaders'
         25        ASSIGN_DIM                                               $5, $8
         26        OP_DATA                                                  ~13
   46    27        STRLEN                                           ~14     !1
         28      > RETURN                                                   ~14
   47    29*     > RETURN                                                   null

End of function headerfunction

Function setopt:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/tvCQa
function name:  setopt
number of ops:  11
compiled vars:  !0 = $opt, !1 = $value
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   49     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   50     2        INIT_FCALL_BY_NAME                                       'curl_setopt'
          3        CHECK_FUNC_ARG                                           
          4        FETCH_OBJ_FUNC_ARG                               $2      'fsocket'
          5        SEND_FUNC_ARG                                            $2
          6        SEND_VAR_EX                                              !0
          7        SEND_VAR_EX                                              !1
          8        DO_FCALL                                      0  $3      
          9      > RETURN                                                   $3
   51    10*     > RETURN                                                   null

End of function setopt

Function setheaders:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/tvCQa
function name:  setHeaders
number of ops:  5
compiled vars:  !0 = $array
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   53     0  E >   RECV                                             !0      
   54     1        ASSIGN_OBJ                                       ~1      'header'
          2        OP_DATA                                                  !0
          3      > RETURN                                                   ~1
   55     4*     > RETURN                                                   null

End of function setheaders

Function setpostdata:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 8
Branch analysis from position: 5
1 jumps found. (Code = 42) Position 1 = 47
Branch analysis from position: 47
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
2 jumps found. (Code = 77) Position 1 = 10, Position 2 = 44
Branch analysis from position: 10
2 jumps found. (Code = 78) Position 1 = 11, Position 2 = 44
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 31
Branch analysis from position: 14
2 jumps found. (Code = 77) Position 1 = 15, Position 2 = 29
Branch analysis from position: 15
2 jumps found. (Code = 78) Position 1 = 16, Position 2 = 29
Branch analysis from position: 16
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 19
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 15
Branch analysis from position: 15
Branch analysis from position: 19
Branch analysis from position: 29
1 jumps found. (Code = 42) Position 1 = 43
Branch analysis from position: 43
1 jumps found. (Code = 42) Position 1 = 10
Branch analysis from position: 10
Branch analysis from position: 29
Branch analysis from position: 31
2 jumps found. (Code = 43) Position 1 = 33, Position 2 = 34
Branch analysis from position: 33
1 jumps found. (Code = 42) Position 1 = 10
Branch analysis from position: 10
Branch analysis from position: 34
Branch analysis from position: 44
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 44
filename:       /in/tvCQa
function name:  setPostData
number of ops:  48
compiled vars:  !0 = $array, !1 = $isMultipart, !2 = $post, !3 = $val, !4 = $key, !5 = $subval
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   57     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      <true>
   58     2        ASSIGN_OBJ                                               'method'
          3        OP_DATA                                                  'POST'
   59     4      > JMPZ                                                     !1, ->8
   60     5    >   ASSIGN_OBJ                                               'postdata'
          6        OP_DATA                                                  !0
          7      > JMP                                                      ->47
   62     8    >   ASSIGN                                                   !2, ''
   63     9      > FE_RESET_R                                       $9      !0, ->44
         10    > > FE_FETCH_R                                       ~10     $9, !3, ->44
         11    >   ASSIGN                                                   !4, ~10
   64    12        TYPE_CHECK                                  128          !3
         13      > JMPZ                                                     ~12, ->31
   65    14    > > FE_RESET_R                                       $13     !3, ->29
         15    > > FE_FETCH_R                                               $13, !5, ->29
   66    16    >   IS_NOT_EQUAL                                             !2, ''
         17      > JMPZ                                                     ~14, ->19
   67    18    >   ASSIGN_OP                                     8          !2, '%26'
   69    19    >   INIT_FCALL                                               'urlencode'
         20        SEND_VAR                                                 !4
         21        DO_ICALL                                         $16     
         22        CONCAT                                           ~17     $16, '%3D'
         23        INIT_FCALL                                               'urlencode'
         24        SEND_VAR                                                 !5
         25        DO_ICALL                                         $18     
         26        CONCAT                                           ~19     ~17, $18
         27        ASSIGN_OP                                     8          !2, ~19
   65    28      > JMP                                                      ->15
         29    >   FE_FREE                                                  $13
         30      > JMP                                                      ->43
   72    31    >   IS_NOT_EQUAL                                             !2, ''
         32      > JMPZ                                                     ~21, ->34
   73    33    >   ASSIGN_OP                                     8          !2, '%26'
   75    34    >   INIT_FCALL                                               'urlencode'
         35        SEND_VAR                                                 !4
         36        DO_ICALL                                         $23     
         37        CONCAT                                           ~24     $23, '%3D'
         38        INIT_FCALL                                               'urlencode'
         39        SEND_VAR                                                 !3
         40        DO_ICALL                                         $25     
         41        CONCAT                                           ~26     ~24, $25
         42        ASSIGN_OP                                     8          !2, ~26
   63    43    > > JMP                                                      ->10
         44    >   FE_FREE                                                  $9
   78    45        ASSIGN_OBJ                                               'postdata'
         46        OP_DATA                                                  !2
   80    47    > > RETURN                                                   null

End of function setpostdata

Function send:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 11
Branch analysis from position: 4
2 jumps found. (Code = 46) Position 1 = 14, Position 2 = 17
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 30
Branch analysis from position: 18
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 33
Branch analysis from position: 31
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 33
2 jumps found. (Code = 43) Position 1 = 45, Position 2 = 53
Branch analysis from position: 45
1 jumps found. (Code = 42) Position 1 = 79
Branch analysis from position: 79
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 53
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 30
Branch analysis from position: 17
Branch analysis from position: 11
filename:       /in/tvCQa
function name:  send
number of ops:  87
compiled vars:  !0 = $forMulti, !1 = $exec, !2 = $result
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   82     0  E >   RECV_INIT                                        !0      <false>
   83     1        ISSET_ISEMPTY_PROP_OBJ                           ~3      'header'
          2        BOOL_NOT                                         ~4      ~3
          3      > JMPZ                                                     ~4, ->11
   84     4    >   INIT_METHOD_CALL                                         'setopt'
          5        FETCH_CONSTANT                                   ~5      'CURLOPT_HTTPHEADER'
          6        SEND_VAL_EX                                              ~5
          7        CHECK_FUNC_ARG                                           
          8        FETCH_OBJ_FUNC_ARG                               $6      'header'
          9        SEND_FUNC_ARG                                            $6
         10        DO_FCALL                                      0          
   86    11    >   FETCH_OBJ_R                                      ~8      'method'
         12        IS_EQUAL                                         ~9      ~8, 'POST'
         13      > JMPZ_EX                                          ~9      ~9, ->17
         14    >   ISSET_ISEMPTY_PROP_OBJ                           ~10     'postdata'
         15        BOOL_NOT                                         ~11     ~10
         16        BOOL                                             ~9      ~11
         17    > > JMPZ                                                     ~9, ->30
   87    18    >   INIT_METHOD_CALL                                         'setopt'
         19        FETCH_CONSTANT                                   ~12     'CURLOPT_POST'
         20        SEND_VAL_EX                                              ~12
         21        SEND_VAL_EX                                              1
         22        DO_FCALL                                      0          
   88    23        INIT_METHOD_CALL                                         'setopt'
         24        FETCH_CONSTANT                                   ~14     'CURLOPT_POSTFIELDS'
         25        SEND_VAL_EX                                              ~14
         26        CHECK_FUNC_ARG                                           
         27        FETCH_OBJ_FUNC_ARG                               $15     'postdata'
         28        SEND_FUNC_ARG                                            $15
         29        DO_FCALL                                      0          
   90    30    > > JMPZ                                                     !0, ->33
   91    31    >   FETCH_OBJ_R                                      ~17     'fsocket'
         32      > RETURN                                                   ~17
   93    33    >   INIT_FCALL_BY_NAME                                       'curl_exec'
         34        CHECK_FUNC_ARG                                           
         35        FETCH_OBJ_FUNC_ARG                               $18     'fsocket'
         36        SEND_FUNC_ARG                                            $18
         37        DO_FCALL                                      0  $19     
         38        ASSIGN                                                   !1, $19
   94    39        INIT_FCALL_BY_NAME                                       'curl_errno'
         40        CHECK_FUNC_ARG                                           
         41        FETCH_OBJ_FUNC_ARG                               $21     'fsocket'
         42        SEND_FUNC_ARG                                            $21
         43        DO_FCALL                                      0  $22     
         44      > JMPZ                                                     $22, ->53
   95    45    >   INIT_FCALL_BY_NAME                                       'curl_error'
         46        CHECK_FUNC_ARG                                           
         47        FETCH_OBJ_FUNC_ARG                               $24     'fsocket'
         48        SEND_FUNC_ARG                                            $24
         49        DO_FCALL                                      0  $25     
         50        ASSIGN_DIM                                               !2, 'error'
         51        OP_DATA                                                  $25
         52      > JMP                                                      ->79
   97    53    >   FETCH_OBJ_R                                      ~27     'postdata'
         54        ASSIGN_DIM                                               !2, 'post_data'
         55        OP_DATA                                                  ~27
   98    56        ASSIGN_DIM                                               !2, 'content'
         57        OP_DATA                                                  !1
   99    58        INIT_FCALL_BY_NAME                                       'curl_getinfo'
         59        CHECK_FUNC_ARG                                           
         60        FETCH_OBJ_FUNC_ARG                               $30     'fsocket'
         61        SEND_FUNC_ARG                                            $30
         62        DO_FCALL                                      0  $31     
         63        ASSIGN_DIM                                               !2, 'info'
         64        OP_DATA                                                  $31
  100    65        INIT_FCALL_BY_NAME                                       'curl_getinfo'
         66        CHECK_FUNC_ARG                                           
         67        FETCH_OBJ_FUNC_ARG                               $34     'fsocket'
         68        SEND_FUNC_ARG                                            $34
         69        FETCH_CONSTANT                                   ~35     'CURLINFO_HEADER_OUT'
         70        SEND_VAL_EX                                              ~35
         71        DO_FCALL                                      0  $36     
         72        FETCH_DIM_W                                      $32     !2, 'info'
         73        ASSIGN_DIM                                               $32, 'request_headers'
         74        OP_DATA                                                  $36
  101    75        FETCH_STATIC_PROP_R          unknown             ~39     'responseHeaders'
         76        FETCH_DIM_W                                      $37     !2, 'info'
         77        ASSIGN_DIM                                               $37, 'response_headers'
         78        OP_DATA                                                  ~39
  103    79    >   INIT_METHOD_CALL                                         'debug'
         80        SEND_VAR_EX                                              !2
         81        CHECK_FUNC_ARG                                           
         82        FETCH_OBJ_FUNC_ARG                               $40     'cookie_file'
         83        SEND_FUNC_ARG                                            $40
         84        DO_FCALL                                      0          
  104    85      > RETURN                                                   !2
  105    86*     > RETURN                                                   null

End of function send

Function debug:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/tvCQa
function name:  debug
number of ops:  45
compiled vars:  !0 = $result, !1 = $cookie
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  107     0  E >   RECV                                             !0      
          1        RECV                                             !1      
  114     2      > RETURN                                                   null
  115     3*       ECHO                                                     '%3Ch1%3E'
          4*       FETCH_DIM_R                                      ~2      !0, 'info'
          5*       FETCH_DIM_R                                      ~3      ~2, 'url'
          6*       ECHO                                                     ~3
          7*       ECHO                                                     '%3C%2Fh1%3E'
  116     8*       ECHO                                                     '%3Ch2%3EContent%3C%2Fh2%3E'
  117     9*       ECHO                                                     '%3Cpre%3E'
         10*       INIT_FCALL                                               'htmlspecialchars'
         11*       FETCH_DIM_R                                      ~4      !0, 'content'
         12*       SEND_VAL                                                 ~4
         13*       DO_ICALL                                         $5      
         14*       ECHO                                                     $5
         15*       ECHO                                                     '%3C%2Fpre%3E'
  118    16*       ECHO                                                     '%3Ch2%3ECookies%3C%2Fh2%3E'
  119    17*       ECHO                                                     '%3Cpre%3E'
         18*       BEGIN_SILENCE                                    ~6      
         19*       INIT_FCALL                                               'file_get_contents'
         20*       SEND_VAR                                                 !1
         21*       DO_ICALL                                         $7      
         22*       END_SILENCE                                              ~6
         23*       ECHO                                                     $7
         24*       ECHO                                                     '%3C%2Fpre%3E'
  120    25*       ECHO                                                     '%3Ch

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
153.63 ms | 1428 KiB | 31 Q