我一直在谷歌abit上搜索,但找不到任何有用的东西!我有一个客户想上传产品的大CSV文件(一个很好的痛苦,因为有150 MB以上的未压缩)。
我注意到他用gz从批发商那里得到了压缩文件(压缩到6mb)。我一直试图通过我为他创建的管理表单上传gz,但提交时$_FILES全局为空(这是在上传到tmpdir之后)
如果我上传未压缩的csv,一切都很好(因为$_FILES全局文件不为空),所以我猜服务器正在阻止该文件?但我找不到任何关于这方面的信息,查看其他上传脚本,人们允许扩展。
下表:
<form action="/admin.php?current_page=new_upload" method="post" enctype="multipart/form-data">
<label for="csvFile">CSV File: (*)</label>
<input class="form-control" type="file" required name="csvFile" id="csvFile" />
<input class="btn btn-success" id="subBtn" type="submit" value="Upload CSV to Site" />
</form>
在这里获取tmp_name,当尝试上传gz文件时它是空的(文件上的第一行):
$fn = $_FILES['csvFile']['tmp_name'];
在文件的顶部放一个var_dump($_FILES),它是完全空的,所以它在命中任何脚本之前都会丢失
但如果我上传.csv文件
所以我最终屈服了,上传了一个巨大的未压缩文件,但失败了,然后我对样本数据进行了GZ处理,结果很好,所以这一定是文件大小的问题,即使GZ只有6mb(我们已经将限制设置为150mb),服务器在接触脚本之前也必须以实际大小读取文件。
我会玩服务器设置,但无论如何都感谢您的关注!