$ _FILES上传文件并提交,但没有任何反应

时间:2018-09-20 11:34:42

标签: php html

我是PHP编码的初学者。我尝试在XAMPP本地主机环境下使用$ _FILES创建一个页面。 PHP是7.2.7版本。问题是,当我单击提交按钮上传文件时,什么也没发生。 (我使用“ if ... else”循环来查看是否所有条件都没有发生,并且结果什么也没有发生。)

HTML:

<form action="upload.php" method="POST" enctype="multipart/form-data">
    <label for="file">File upload:</label> 
    <input type="file" name="User Name">
    <br><br>
    <input type="submit">
    <br><br> 
</form>  

PHP:         

if(isset($_POST['submit'])){
  if ($_FILES["file"]["error"] > 0)
  {
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
  else
  {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Stored in: " . $_FILES["file"] ["tmp_name"];
  }
}
else {
  echo "nothing";
}

2 个答案:

答案 0 :(得分:0)

首先,您没有为输入类型Submit定义名称

要将文件上载到数据库或目录中 试试这个:

if isset($_POST['submit'])

{

$filename=$_FILES['fileupload']['name'];

$filetmp=$_FILES['fileupload']['tmp_name'];

$filesize=$_FILES['fileupload']['size'];

$file_basename=basename($_FILES['fileupload']['name']).date("dmY")."_".time();

$dir="uploads/";

$final_dir=$dir."$file_basename";

//echo "$final_dir";

move_uploaded_file($filetmp, $final_dir);

}

//Insertion Query Goes here........ 

答案 1 :(得分:-1)

您的表格有误。 $_POST['submit']引用名称为“ submit”的表单控件。可以通过将表单更改为以下内容来轻松解决此问题:

<form action="upload.php" method="POST" enctype="multipart/form-data">
    <label for="file">File upload:</label> 
    <input type="file" name="User Name">
    <br><br>
    <input name="submit" type="submit">
    <br><br> 
</form>

请注意,我已将<input type="submit">更改为<input name="submit" type="submit">

我希望这会有所帮助:)