在提交 multipart/form-data 表单重新加载后丢失 $_POST 数据 (Firefox)

Losing $_POST data after a submitted multipart/form-data form reload(Firefox)

提交 multipart/form-data 表单重新加载后丢失 $_POST 数据。

我有以下表格:

<?php var_dump($_POST, $_FILES); ?>

<form method="POST" enctype="multipart/form-data">
    <input type="text" name="name1" value="name1"/>
    <input type="text" name="name2" value="name2"/>
    <input type="file" name="file" value=""/>
    <input type="text" name="name3" value="name3"/>
    <input type="text" name="name4" value="name4"/>
    <button type="submit">Submit</button>
</form>

问题是,当我第一次提交此表格并选择了一个文件(可能是 2b - 3kb)时,我得到了

'name1' => string 'name1' (length=5)
'name2' => string 'name2' (length=5)
'name3' => string 'name3' (length=5)
'name4' => string 'name4' (length=5)

'file' => array (size=5) [...]

但是当我按下重新加载按钮时,我得到了这个:

array (size=2)
'name1' => string 'name1' (length=5)
'name2' => string 'name2' (length=5)

'file' => array (size=5) [...]

更像是file之后的所有数据都丢失了。
我尝试不选择任何文件,提交表单并重新加载它并且没有丢失 $_POST.
中的任何数据 而且当我将 name3name4 移动到 file 以上时,它们的数据在重新加载后仍然存在。 我需要帮助。

在此处制作演示:https://vimeo.com/272339637

联系 Firefox 支持后,我似乎是 Firefox > v60.0 Forms 的一个已知问题。 Firefox form Issues 所以我现在最好的选择是将所有 text 移动到 file 以上。例如:

<form method="POST" enctype="multipart/form-data">
    <input type="text" name="name1" value="name1"/>
    <input type="text" name="name2" value="name2"/>
    <input type="text" name="name3" value="name3"/>
    <input type="text" name="name4" value="name4"/>

    <input type="file" name="file" value=""/>

    <button type="submit">Submit</button>
</form>