【发布时间】:2020-02-16 16:19:00
【问题描述】:
自从我更换了主机后,我遇到了下载文件时无法再浏览页面的问题。 不同的是,新服务器使用的是 HTTP2 协议。它始终通过 HTTPS 运行。我怀疑可能是这个原因?
下载受到保护,将通过具有以下功能的 POST 请求启动:
public static function download($file, $filename='') {
if(file_exists($file) && is_file($file)) {
$filename = $filename ? $filename : basename($file);
$filename = File::ValidateFilename($filename);
$mime = mime_content_type($file);
header('Content-Description: File Transfer');
header('Expires: 0');
header('Content-Type: '.$mime);
header('Content-Disposition: attachment; filename="'.$filename);
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: '.filesize($file));
readfile($file);
exit;
}
return false;
}
还有其他人有问题吗?或者有人知道该怎么做吗?提前致谢。
【问题讨论】:
-
http/2 不应该以任何方式影响应用程序
-
是的。但自从我移动了我的网络服务器后,它就没有用了。这是我看到的唯一区别。在旧服务器上,它工作得非常好。您可以下载多个文件并继续在网站上冲浪,现在您必须等到下载完成。
-
使用
<?php print phpinfo(); ?>创建一个简单的页面。比较版本、加载的库等。了解不同之处可能会有所帮助(如果超过 HTTP2)。 -
我不能再访问旧服务器了。