0

I need to have web form for upload files. I want save uploaded file with original name.

I have this PHP code:

<form action="" enctype="multipart/form-data" method="POST">
  <input type="file" name="file" /> <br />
  <input type="submit" value="Upload" />
</form>

<?php
  if ( ($_SERVER['REQUEST_METHOD'] == 'POST') ) {
    $fieldname = $_REQUEST['file'];
    $tmpfile = $_FILES[$fieldname]['tmp_name'];

    $info = pathinfo($tmpfile);
    $filename = 'newfile.' . $info['extension'];

    $uploaddir = 'uploads/';
    $uploadfile = $uploaddir . $filename;

    if(move_uploaded_file($tmpfile, $uploadfile)) {
      echo $uploadfile;
    }

  }
?>

but after user upload file I have tmp_name file on server.

What I need: user upload file photo123.jpg - I want photo123.jpg on server. User upload firefox.exe - I want firefox.exe

Albzi
  • 15,431
  • 6
  • 46
  • 63
martin
  • 1,707
  • 6
  • 34
  • 62

2 Answers2

1

try this :

$fieldname = $_FILES['file']['name'];

instead of $fieldname = $_REQUEST['file'];

AkshayP
  • 2,141
  • 2
  • 18
  • 27
1

try with $_FILES['file']['name']

if ( ($_SERVER['REQUEST_METHOD'] == 'POST') ) {
    $tmpfile = $_FILES['file']['tmp_name'];
    $filename = $_FILES['file']['name'];
    $uploaddir = 'uploads/';
    $uploadfile = $uploaddir . $filename;
    if(move_uploaded_file($tmpfile, $uploadfile)) {
      echo $uploadfile;
    }
  }
Rakesh Sharma
  • 13,680
  • 5
  • 37
  • 44