【发布时间】:2014-08-29 00:21:55
【问题描述】:
看看Force Download of Files with PHP 和Force download file with PHP giving empty file 以及最接近我的How to force download an image without a script, but with $_GET?
我仍然无法想出解决问题的方法。
我有一个 html 文件,允许用户提交文件以将文件发布到我的“upload_file.php”PHP 脚本。
<html>
<body>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
upload_file.php 接收文件,对其进行大量更改,提取数据,最后通过PHPExcel 生成一个xlsx 文件。这是一个带有一点逻辑的简单格式转换。目前,为了测试,我只是将文件与 php 文件一起编写。我可以让 upload.php 文件输出一个指向该文件的链接并称之为好。
但是,我宁愿用户单击初始上传按钮,经过几秒钟的处理,生成的文件开始下载到他们的系统。上面的链接似乎在谈论正在下载的 csv 或 html 文件——与实际文件相比。
只是“回显”文件名似乎并没有这样做(正如其他线程中所建议的那样)。我还看到了一个建议,即正确地“设置标题”,我发现 xlsx 文件的内容类型应该是“application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”——但没有人真正充实“什么”设置标头的方式和方法。
我无法想象这很困难,但我似乎无法对其进行排序。谁能帮助这个初学者?
另外,如果可能的话,如果文件根本不存在于服务器上,我会很高兴的——但我不确定 PHPExcel 对象是否可能...
【问题讨论】:
-
" 上面的链接似乎在谈论正在下载的 csv 或 html 文件——与实际文件相比。" ??因为 html 文件或 csv 文件在某种程度上是假文件?
-
你的问题充满了不必要的信息,我不明白你的实际问题......
-
@NielsKeurentjes 当有人上传文件时,他希望执行一些修改,将其转换为 xlsx 文件,然后在该任务运行后“提示”下载文件。
-
所以只是
Content-disposition?我无法从中做出正面或反面哈哈。 -
@NielsKeurentjes - 奇怪的是其他人似乎没有理解问题。感谢那些帮助过的人!
标签: php