首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过Wordpress插件中的文件输入上传文件

如何通过Wordpress插件中的文件输入上传文件
EN

Stack Overflow用户
提问于 2020-01-17 05:29:26
回答 1查看 56关注 0票数 0

我正在开发一个wordpress插件,它将生成一个带有一些选项的表单,供用户上传文件。这是我的表单代码:

代码语言:javascript
复制
<form class="upload-resller-certs" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>" method="post">
  <div class="uploads-container">
    <label for="w-9-upload">
      W-9 Form<br>
      <input type="file" name="w-9" value="w-9" id="w-9-upload">
    </label>
    <label for="resale-cert-upload">
      Reseller Certification Form<br>
      <input type="file" name="resale-cert" value="resale-cert" id="resale-cert-upload">
    </label>
  </div>
  <input type="hidden" name="action" value="upload_resale_certs">
  <input type="submit" name="upload" value="upload">
</form>

然后,我处理表单的操作如下所示

代码语言:javascript
复制
public function update_wholesale_certs()
{
  echo "<pre>";
  print_r($_POST);
  echo "</pre>";

  echo "<pre>";
  print_r($_FILES);
  echo "</pre>";
}

这就是这些print_r显示的内容

代码语言:javascript
复制
//$_POST dump
Array
(
    [w-9] => file1.pdf
    [resale-cert] => file2.jpg
    [action] => upload_resale_certs
    [upload] => upload
)

//$_FILES dump
Array
(
)

我的问题是为什么我的$_FILES数组是空的?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-01-17 05:36:56

Welp在发布这篇文章后大约5分钟就发现了这一点。我的解决方案是将enctype="multipart/form-data"添加到表单,如下所示:

代码语言:javascript
复制
<form enctype="multipart/form-data" class="upload-resller-certs" action="<?php echo esc_url(admin_url('admin-post.php')); ?>" method="post">
      <h3>Please Upload Your Certifications<br> <small>Recieve 20% off your next order once completed</small> </h3>
      <div class="uploads-container">
        <label for="w-9-upload">
          W-9 Form<br>
          <input type="file" name="w-9" value="w-9" id="w-9-upload">
        </label>
        <label for="resale-cert-upload">
          Reseller Certification Form<br>
          <input type="file" name="resale-cert" value="resale-cert" id="resale-cert-upload">
        </label>
      </div>
      <input type="hidden" name="action" value="upload_resale_certs">
      <input type="submit" name="upload" value="upload">
    </form>

希望这对遇到同样问题的人有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59778081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档