我需要下载一个apk应用程序,但我需要将用户保留在我的页面中或将其重定向到另一个页面 带标题我只能下载应用程序或将其重定向到另一个页面,但我无法同时执行这两个操作 我的PHP代码:
$b= "location";
echo "<script>window.location.href = '$b';</script>" ;
$file = 'apk.apk';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
}
答案 0 :(得分:2)
根据我的研究(你可以做5分钟的谷歌搜索),你要求的是不可能的。
以一个下载内容的页面为例,然后重定向到“谢谢你下载”
他们实际执行此操作的方式是将您带到“谢谢”页面,然后开始下载。
要在代码中实现此功能,您需要先打开$b
位置,然后在该脚本中通过重定向到包含下载的PHP脚本来开始下载。
示例:
的download.php
$file = 'apk.apk';
if (file_exists($file))
{
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
}
hello.php
$b= "download.php";
echo "Hello! <script>window.location.href = '$b';</script>" ;
当你访问hello.php时,你会看到你好!并开始下载
答案 1 :(得分:0)
@ aron9forever感谢您的帮助,我找到了一个很好的方法:
$e= "url.com" ;
echo "<script>setTimeout(function(){window.location.href = '$e';} ,2)</script>" ;
echo "<iframe src='download.php' ></iframe>" ;
和download.php:
<?php
$file = 'apk1.apk';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
}
?>