将文件上传到服务器并返回文件名

I'm trying to upload a file to my php server, then return the name of the file to display in the html document. But I get the following

`error: Objektet wasn't found! The requested address was not found on this server. The link on the previous page appears to be incorrect or out of date Error 404

localhost
Apache/2.4.27 (Win32) OpenSSL/1.0.2l PHP/7.1.8`

My html Doc

<html>
    <body>
        <form method="post" enctype="multipart/form-data" action="server.php">
        <input type="file" name="fileToUpload" id="fileToUpload" size="35">
        <br>
        <br>
        <input type="submit" value="Upload" name="submit">
    </body>
</html>

My php doc

<?php
header('Content-type: text/plain');
    if(isset($_POST["fileToUpload"])){
        $file = $_FILES["fileToUpload"];
        echo("File: ".$file);
    }
?>

You have many errors in PHP

<?php
 if(isset($_FILES["fileToUpload"])){
        $file = $_FILES["fileToUpload"]["name"];
        echo "File: ".$file;
    }
?>

HTML

<html>
    <body>
        <form method="post" enctype="multipart/form-data" action="server.php">
        <input type="file" name="fileToUpload" id="fileToUpload" size="35">
        <br>
        <br>
        <input type="submit" value="Upload" name="submit">
    </body>
</html>

Errors

1.if(isset($_POST["file"])){ its not post it should be $_FILES["fileToUpload"]) since its a file upload

  1. $file = $_FILES["file"]; and in your html you have defined file name as fileToUpload but your accessign unknown name so it should be $file = $_FILES["fileToUpload"]["name"];

In your PHP script you are asking for a form name that does not exist. In your form, the variable is called fileToUpload but in your script you are checking for $_POST['file'].

Also, the global $_FILES is an array with information about the file, so you cannot use echo to show its content. Use echo $_FILES['fileToUpload']['name'] since $_FILES['formFieldName']['name'] will display the original name of the file on the client machine.