gpt4 book ai didi

PHP:下载文件脚本在 iPad 上不起作用

转载 作者:可可西里 更新时间:2023-11-01 13:12:32 24 4
gpt4 key购买 nike

我有一个我编写的文件下载脚本,它从 public_html 下面读取文件,并允许用户在检查用户是否已登录以及该文件是可供他们下载的有效文件后下载它们。

我最近遇到的一个问题是,在 iPad 上单击链接时它无法执行任何操作。

完成所有检查后的示例下载文件代码:

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: application/msword");
header("Content-Disposition: attachment; filename=\"file.doc\";" );
header("Content-Length: 50688");

readfile(SITE_PATH .'/files/file.doc');

此脚本已经在 PC、Mac 和 Linux 机器上的多种浏览器(FF、Opera、IE6-9、Chrome、Safari)中进行了测试和检查,似乎都可以正常工作,所以它一定是 iPad 的不同之处.

我想这可能是因为 iPad 实际上没有下载文件的文件结构,但我不确定。

有没有人遇到过这个问题?如果是这样,是否有解决办法?

最佳答案

iOS Safari 不支持文件下载..

更新:但是如果您想在 iPad 上打开 .doc 文件,那么是的..您可以这样做...

使用以下 -

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: application/msword");


readfile('file.doc');

你的代码和我的唯一区别是我删除了附件的标题只需删除这些 header -

header("Content-Disposition: attachment; filename=\"file.doc\";" );
header("Content-Length: 50688");

实际上你可以检查客户端操作系统,如果操作系统是 iOS 那么不要像这样添加下载头 -

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: application/msword");

if (!Operating_System_Is_IOS)
{

header("Content-Disposition: attachment; filename=\"file.doc\";" );
header("Content-Length: 50688");

}

readfile(SITE_PATH .'/files/file.doc');

关于PHP:下载文件脚本在 iPad 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8849197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com