【问题标题】:Upload file to server and return name of file上传文件到服务器并返回文件名
【发布时间】:2018-03-12 03:43:14
【问题描述】:

我正在尝试将文件上传到我的 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 文档

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

【问题讨论】:

    标签: php html file server


    【解决方案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"];

    【讨论】:

    • 对不起,我要更新答案,我只是改了名字。仍然没有解决我的问题
    • @Amar.please 复制粘贴我的代码。我已经测试过它可以正常工作
    • 你说得对,它有效。对不起我的无知。我会尽快将您的答案作为解决方案
    • 请问,重新发送图片显示的命令是什么?
    • 如果你想在 php 代码中显示上传的图像,你必须使用 move 方法上传到特定文件夹和 img src 的 html,你必须指定文件夹路径和图像名称
    【解决方案2】:

    在您的 PHP 脚本中,您需要一个不存在的表单名称。在您的表单中,该变量称为fileToUpload,但在您的脚本中,您正在检查$_POST['file']

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

    【讨论】:

      猜你喜欢
      • 2011-01-27
      • 1970-01-01
      • 2020-01-28
      • 1970-01-01
      • 2010-10-15
      • 2015-02-27
      • 1970-01-01
      相关资源
      最近更新 更多