现在我得到了这段代码;
<?php
$file = "pain.png";
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>
此代码显示为下载框。但我想将此页面重定向到“谢谢”页面,而下载框仍然在这里。我怎样才能做到这一点?
...谢谢
答案 0 :(得分:2)
您可以使用元刷新(http://en.wikipedia.org/wiki/Meta_refresh)
来完成此操作您可以从主页链接到下载页面。
<强>的index.html 强>
<html><head></head><body>
Download my awesome <a href="download.html">file</a>
</body></html>
<强> download.html 强>
<html>
<head>
<meta http-equiv="refresh" content="0;url=http://example.com/download.php" />
</head>
<body>
Thanks for choosing Foobar! Your download will begin shortly.
If you're download does not begin,
click <a href="http://www.example.com/download.php">here</a>
</body>
</html>
答案 1 :(得分:0)
由于下载是 HTTP响应,因此您无法在下载响应中执行此操作。您可以重定向它们然后说“谢谢,您的下载将立即发生”等等。这似乎是大多数地方的标准解决方案。
要明确的是,感谢页面将重定向到下载网址。