как я могу перенаправить страницу при появлении окна загрузки? - PullRequest
1 голос
/ 27 марта 2010

Теперь я получил этот код;

<?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;
}
?>

Этот код появляется в окне загрузки. Но я хочу перенаправить эту страницу на страницу «Спасибо», пока окно загрузки еще здесь. Как я могу это сделать?

Спасибо ...

Ответы [ 2 ]

2 голосов
/ 27 марта 2010

Вы можете сделать это, используя Meta Refresh (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>
0 голосов
/ 27 марта 2010

Поскольку загрузка является ответом HTTP, вы не можете сделать это из ответа загрузки. Вы можете перенаправить их, а затем сказать «спасибо, ваша загрузка произойдет сейчас» и т. Д.

Для ясности, страница благодарности будет перенаправлена ​​на URL загрузки.

...