-1

I am trying to upload a text file using html form. after I submit, I don't get file path in php.

I tried $_FILES['file']['name']; , $_FILES['file']['tmp_name'];, also tried to echo $_POST['file']; It shows only file name.

<form class="form-inline" method="post" action="getfile.php">    
    <div class="mb-2 mr-sm-2 mb-sm-0 position-relative form-group">
        <input name="file" type="file" class="">
    </div>
    <button class="btn btn-primary">Submit</button>
</form>

this is my PHP file

getfile.php

<?php

 if (isset($_POST['file'])) {
    $name_file = $_FILES['file']['name'];
    $tmp_name = $_FILES['file']['tmp_name'];
    $local_file = "uploaded/".$name_file;
    move_uploaded_file($tmp_name,$local_file);
}
?>

in this case echo $_POST['file']; shows only file name but the file is not moved to the folder

Chilarai
  • 1,842
  • 2
  • 15
  • 33

1 Answers1

0

You need to put enctype="multipart/form-data" in <form> to upload a file.

Here is a working version of the code

<?php

 if (isset($_POST['submit'])) {
    $name_file = $_FILES['file']['name'];
    $tmp_name = $_FILES['file']['tmp_name'];
    $local_file = "uploaded/".$name_file;
    move_uploaded_file($tmp_name,$local_file);
}
?>

<form class="form-inline" method="post" action="" enctype="multipart/form-data">    
    <div class="mb-2 mr-sm-2 mb-sm-0 position-relative form-group">
        <input name="file" type="file" class="">
    </div>
    <input type="submit" name="submit" value="Submit" class="btn btn-primary"/>
</form>

Chilarai
  • 1,842
  • 2
  • 15
  • 33