2017-07-03 103 views
-2

我正在尝试构建文件上传表单,并且遇到了非常基础的问题。我的形式是这样的:使用PHP访问HTML表单数据时遇到困难

<html> 
    <body> 
     <form action="fileuploader.php" method="POST" enctype="multipart/form-data"> 
     <input type="file" name="filename" /> 
     <input type="submit"/> 
     </form> 
    </body> 
</html> 

我的PHP代码到目前为止是一条线,并没有做任何事情:

<?php 
echo $_POST['filename']; 
?> 

的想法(在这一点上)就是要显示的名称文件在表格中输入。我究竟做错了什么?

回答

1

您可以使用下面的代码打印的文件名:

<?php 
echo $_FILES["filename"]["name"]; 
?> 

如果您有任何疑问,请让我知道。

+0

我只是去尝试,并没有奏效。但随后我将它添加到与表单相同的文件,并以此方式工作。它不应该在单独的文件中使用PHP吗? – user348514

+0

更正 - 该DID工作。但为什么$ _POST没有工作?我以为你应该能够访问它的表单值。 – user348514

+0

您使用$ _FILES,因为它不是一个常见字段,例如您在文本中传递信息的字段。这是特别的,因为你正在处理不同类型的数据。我建议阅读一下PHP文档对它的看法:http://php.net/manual/en/reserved.variables.files.php –

1

根据你的代码我修改了它。试试吧。

HTML部分

<html> 
    <body> 
    <form action="fileuploader.php" method="POST" enctype="multipart/form-data"> 
     <input type="file" name="filename" /> 
     <input type="submit" name="submit" /> 
    </form> 
</body> 
</html> 

PHP

if (isset($_POST['submit'])) { 
    // Check if files array is not empty 
    if (!empty($_FILES)) { 
    $imageName = $_FILES['filename']['name']; 
    echo $imageName; 
    // Insert your code related to upload 
    } 
}