2016-03-01 5 views
2

Мне нужно загрузить приложение 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

возможно дубликат HTTP://stackoverflow.com/questions/15872534/how-to-download-a-file-then-redirect-to-another-page-in-php – rahul

+0

Можете ли вы объяснить мне решение, данное в этом URL-адресе? –

ответ

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); 

} 
?> 
1

Согласно моим исследованиям (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 вы увидите Hello! и загрузка начнется

+0

Я пытался это сделать, но он загружал приложение, а затем выходил из страницы, не вызывая код javascript. –

+0

@RamiOssmane, вы правы, я редактирую ответ. – aron9forever

Смежные вопросы