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

时间:2017-09-30 11:34:44

标签: php html file server

我正在尝试将文件上传到我的php服务器,然后返回要在html文档中显示的文件名。但我得到以下

`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`

我的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>

我的php doc

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

2 个答案:

答案 0 :(得分:1)

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>

错误

1. if(isset($_POST["file"])){由于上传文件,因此不应发布$_FILES["fileToUpload"])

  1. $file = $_FILES["file"];并且在您的HTML中,您已将文件名定义为fileToUpload但您的访问权限未知名称应为$file = $_FILES["fileToUpload"]["name"];

答案 1 :(得分:0)

在PHP脚本中,您要求的表单名称不存在。在您的表单中,该变量名为message = SQS.poll_messages if message.perform_message_at > Time.now SQS.push_to_queue({perform_message_at : "Thursday November 2022"},delay:15 mins) else process_message(message) end ,但在您的脚本中,您正在检查fileToUpload

此外,全局$ _FILES是一个包含该文件信息的数组,因此您无法使用$_POST['file']来显示其内容。使用echo,因为echo $_FILES['fileToUpload']['name']将在客户端计算机上显示文件的原始名称。