PHP表单文件上传不起作用

时间:2017-10-18 13:58:49

标签: php

我想上传图片或MP4视频。

我有这个代码:

<form role="form" action="addad.php" method="POST" enctype="multipart/form-data">
  <div class="form-group">
    <label for="file">Image or MP4 Please</label>
    <input type="file" id="FileInput" name="file" required>
    <div id="responses"></div>
  </div>
</form>

if(!isset($_FILES['file'])){ 
   echo "No File";
   exit;
}

$uploaddir = '/var/www/xxxxxx.com/control/uploads/';
$uploadfile = $uploaddir . basename($_FILES['file']['name']);
echo $uploadfile;

if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
   echo "Image succesfully uploaded.";
} else {
   echo "Image uploading failed.";
   exit;
}

但当我尝试上传时,它已经在消息“No File”中崩溃了......

任何想法? 已经检查过PHP用户并将文件夹更改为www-data 还试过权限777但没有任何作用。

每次看起来,他都没有得到任何文件信息或者没有看到文件。我表单中的所有其他字段都有效。如果我不退出;它将所有其他字段写入数据库。

2 个答案:

答案 0 :(得分:0)

确保您的“提交”输入/按钮位于表单

<form role="form" action="addad.php" method="POST" enctype="multipart/form-data">
  <div class="form-group">
    <label for="file">Image or MP4 Please</label>
    <input type="file" id="FileInput" name="file" required>
    <div id="responses"></div>
  </div>
  <input type="submit" value="Submit File"/>
</form>

在“addad.php”文件中,var_dump($_FILES)在“if(!isset())”部分之前,检查您的数据是否显示,如下所示:

$_FILES

答案 1 :(得分:-1)

你的情况错了。使用:

if(isset($_FILES['file'])){