2017-09-30 83 views
0

我想上传文件到我的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); 
    } 
?> 

回答

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"])因为它的文件上传

  • $file = $_FILES["file"]; ANF在你的HTML您已经定义文件名fileToUpload但您的访问名未知名,所以它应该是$file = $_FILES["fileToUpload"]["name"];
  • +0

    对不起,我要更新答案,我只是改了名字。仍然不能解决我的问题 – Amar

    +0

    @ Amar.please复制粘贴我的代码.i已经测试它可以正常工作 – iCoders

    +0

    对,它的工作原理。对不起,我的无知。我会尽快将你的答案作为解决方案 – Amar

    0

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

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