3v4l.org

run code in 300+ PHP versions simultaneously
<form enctype="multipart/form-data" action="upload.php" method="POST"><input name="uploadedfile" type="file"/><input type="submit" value="Upload File"/></form> <?php $target_path=basename($_FILES['uploadedfile']['name']);if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'],$target_path)){echo basename($_FILES['uploadedfile']['name'])." has been uploaded";}else{echo "Error!";}?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 25
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 26
Branch analysis from position: 26
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 25
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/OOY2C
function name:  (null)
number of ops:  27
compiled vars:  !0 = $target_path
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    1     0  E >   ECHO                                                     '%3Cform+enctype%3D%22multipart%2Fform-data%22+action%3D%22upload.php%22+method%3D%22POST%22%3E%3Cinput+name%3D%22uploadedfile%22+type%3D%22file%22%2F%3E%3Cinput+type%3D%22submit%22+value%3D%22Upload+File%22%2F%3E%3C%2Fform%3E+'
          1        INIT_FCALL                                               'basename'
          2        FETCH_R                      global              ~1      '_FILES'
          3        FETCH_DIM_R                                      ~2      ~1, 'uploadedfile'
          4        FETCH_DIM_R                                      ~3      ~2, 'name'
          5        SEND_VAL                                                 ~3
          6        DO_ICALL                                         $4      
          7        ASSIGN                                                   !0, $4
          8        INIT_FCALL                                               'move_uploaded_file'
          9        FETCH_R                      global              ~6      '_FILES'
         10        FETCH_DIM_R                                      ~7      ~6, 'uploadedfile'
         11        FETCH_DIM_R                                      ~8      ~7, 'tmp_name'
         12        SEND_VAL                                                 ~8
         13        SEND_VAR                                                 !0
         14        DO_ICALL                                         $9      
         15      > JMPZ                                                     $9, ->25
         16    >   INIT_FCALL                                               'basename'
         17        FETCH_R                      global              ~10     '_FILES'
         18        FETCH_DIM_R                                      ~11     ~10, 'uploadedfile'
         19        FETCH_DIM_R                                      ~12     ~11, 'name'
         20        SEND_VAL                                                 ~12
         21        DO_ICALL                                         $13     
         22        CONCAT                                           ~14     $13, '+has+been+uploaded'
         23        ECHO                                                     ~14
         24      > JMP                                                      ->26
         25    >   ECHO                                                     'Error%21'
         26    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.61 ms | 1388 KiB | 17 Q