常规表单内的文件上传未上传

时间:2016-01-06 01:40:03

标签: php html forms

我在常规表单中有一个文件上传输入属性来上传照片。



<form class="reg-page" action="phpMailer/sendEmail.php" method="post" enctype="multipart/form-data">

  <div class="form-group">
    <label>Name <span class="color-red">*</span>
    </label>
    <input type="text" class="form-control margin-bottom-20" name="name" required>
  </div>
  <div class="form-group">
    <label>Email <span class="color-red">*</span>
    </label>
    <input type="text" class="form-control" name="email" required>
  </div>
  <label class="control-label">Photo <span class="color-red">*</span>
  </label>
  <input type="file" class="file" name="photo">
  <input type="submit" class="btn btn-apply" value="submit"></input>
</form>
&#13;
&#13;
&#13;

我使用PHP来处理POST参数和$ _FILES参数,但是当我尝试var_dump并查看后端是否收到文件时,似乎$ _FILES数组为空。

var_dump($_FILES);

为什么会发生这种情况?

编辑:

这是我的PHP文件,

$msg = "";
foreach ($_POST as $key => $value) {
    if ($key != "photo") {
        $msg = $msg . "<br/>" . $key . " : " . $value;
    }
}
echo $msg."<br/>";

var_dump($_FILES);

if(!empty($_FILES))
{
    echo "Files Not Empty";
}

这会打印所有$ _POST参数

然后

array(0){}

for $ _FILES

2 个答案:

答案 0 :(得分:0)

请尝试以下行来查看。

echo "<pre>";
var_dump($_FILES['photo']); //or print_r
echo "</pre>";

答案 1 :(得分:-1)

根据评论的建议,<form>Form Tag)标记没有确实导致问题的属性class

所以解决问题的代码是:

<form action="phpMailer/sendEmail.php" method="post" enctype="multipart/form-data">