【问题标题】:Problems using enctype="multipart/form-data" with $_POST variables使用带有 $_POST 变量的 enctype="multipart/form-data" 的问题
【发布时间】:2011-10-14 01:24:22
【问题描述】:

在 HTML 表单中将 enctype 设置为 multipart/form-data 时,不会设置 $_POST 变量。变量的设置没有 enctype,但它必须是为了使用 $_FILES 数组。有没有使用$_FILES 数组的替代方法?

错误报告:https://bugs.php.net/bug.php?id=26004

这个错误可以通过更新 Apache 来修复,但是我想在我求助之前找到一个可能的解决方法。

编辑:更新到最新版本的 Apache 后,问题仍然存在。

【问题讨论】:

    标签: php html forms post encoding


    【解决方案1】:

    当您将 enctype 设置为 multipart/form-data 时,$_POST 将被填充。

    您可以通过php://input$HTTP_RAW_POST_DATA 访问数据,如果enctype 不是multipart/form-data,这可能是您访问数据的替代方法。

    【讨论】:

    • $_FILES 不是只接收 $_POST 数据吗?
    • @hakre 这不是真的。即使 enctype 是 multipart/form-data,您也可以使用 $_POST。
    • @xdazz 就像我说的,有一个错误。
    • @hakre 该演示对我不起作用。提交文件后我得到:cl.ly/AxTl
    • 哪个是正确的。你缺少什么? $_FILES 数组?如果是这样,请将其添加到 var_dump。
    【解决方案2】:

    file_uploads 是否可能被禁用,请检查您的 php.ini 上是否启用它

    file_uploads = On
    

    【讨论】:

    • 还需要upload_max_filesizepost_max_sizeupload_tmp_dir 配置值。
    猜你喜欢
    • 1970-01-01
    • 2011-02-12
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    相关资源
    最近更新 更多