【问题标题】:<input type=file> not getting image<input type=file> 没有得到图像
【发布时间】:2012-12-30 19:25:55
【问题描述】:

我试图通过标签获取图像文件名,但是当我通过 isset($_FILES['imgFile']) 检查它时,它总是返回 false。

这是我用于获取图像文件的 HTML 标记:

<input type="file" name="imgFile" accept="image/*" id="imgFile" src=""/>

这是我的 php 代码来检索它:

if(isset($_FILES['imgFile']))
{
  $img = $_FILES['imgFile']['name'];
  echo $img";
}
else
{
  echo "Image not set";
}

虽然我选择了图像,但它总是生成“图像未设置”作为输出。

【问题讨论】:

  • 您的表单编码类型是什么?

标签: php html


【解决方案1】:

您是否在表单上使用了正确的编码类型?

<form enctype="multipart/form-data">

在使用文件上传元素时这是必需的。

【讨论】:

    【解决方案2】:

    只需使用:

    enctype="multipart/form-data"
    

    【讨论】:

      【解决方案3】:

      说这是你的表格:

      <form action="same_page.php" method="post" enctype="multipart/form-data">
          <input type="file" name="imgFile" accept="image/*" id="imgFile" src=""/>
          <input type="submit" name="upload" value="Upload" />
      </form>
      

      并且您检索图像名称的 php 代码在表单所在的同一页面中,那么您的代码应该是这样的:

      <?php
      if (isset($_POST["upload"])) {
          if (isset($_FILES['imgFile'])) {
              $img = $_FILES['imgFile']['name'];
              echo $img;
          } else {
              echo "Image not set";
          }
      }
      ?>
      

      但是如果你的php代码在另一个页面,那么你只需要在其他答案中提到的形式中使用enctype="multipart/form-data"即可。

      【讨论】:

      • 我的 php 代码在同一页面上,但它仍然给我错误只是因为我没有写 enctype="multipart/form-data"。
      猜你喜欢
      • 2021-06-07
      • 1970-01-01
      • 2017-12-04
      • 2019-09-11
      • 2013-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-26
      相关资源
      最近更新 更多