【问题标题】:HTML file input not working in PHPHTML文件输入在PHP中不起作用
【发布时间】:2017-04-18 01:44:08
【问题描述】:

我正在为一个项目制作一个社交媒体网站。我有一个 PHP 函数,允许用户将图像上传到帖子,函数内部是一个 html 表单,允许他们选择表单。

echo "<form method='post' enctype='multipart/form-data'>";
            echo "<input type='file' name='myFile'/>";
            echo "<label for='myFile' id='fileLabel'>File input</label>";
            echo "<input type='submit' name='submitFileForm' value='Upload' />";
echo "</form>";

当我使用此代码处理表单并且print_r($_FILES) 为空但如果我echo $_POST['myFile'] 它显示正确的文件名。

if (isset($_POST['submitFileForm'])) {

print_r($_FILES);
$my_folder = "img/";

if (move_uploaded_file($_FILES['myFile']['tmp_name'], $my_folder . $_FILES['myFile']['name'])) {
    echo 'Received file' . $_FILES['myFile']['name'] . ' with size ' . $_FILES['myFile']['size'];
} else {
    echo 'Upload failed!';

    var_dump($_FILES['myFile']['error']);
}
}

感谢您的帮助,过去 2 小时我一直在尝试调试它。另外我忘了提,我已经尝试增加upload_max_filesize = 100Minput_max_size = 100M,这不是问题。

【问题讨论】:

  • 您的脚本对我来说运行良好。你的ini文件有file_uploads = On吗?您还看到post_max_size 是否设置得更高?

标签: php html file input


【解决方案1】:

你必须改变 if 条件如下

if (isset($_POST['submitFileForm'])) {

它会工作

【讨论】:

  • 对不起,这实际上是我所拥有的,但我从这篇文章的早期版本中复制了代码。现在更新了
猜你喜欢
  • 2017-08-28
  • 2016-11-27
  • 2011-01-13
  • 2017-09-19
  • 2018-10-09
  • 1970-01-01
  • 1970-01-01
  • 2014-03-19
相关资源
最近更新 更多