Comment faire pour télécharger un fichier, puis rediriger vers une autre page en php?

Bon, j'ai le texte suivant fichier php:

    <?php
        header("Content-Type: application/octet-stream");

    $file = $_GET["file"];
    header("Content-Disposition: attachment; filename=" . urlencode($file));   
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
    header("Content-Description: File Transfer");            
    header("Content-Length: " . filesize($file));
    $file = "pdf/".$file;
    flush(); //this doesn't really matter.
    $fp = fopen($file, "r");
    while (!feof($fp)) {
        echo fread($fp, 65536);
        flush(); //this is essential for large downloads
    }

    if ($file="pdf/sampleFile.pdf") {
    ?>
<html>
<head>
    <title>Best Recipes Ever!</title>
    <link rel="stylesheet" href="style/style.css" />
</head>

<body>
    <div id="header">
        <h1>Best Recipes Ever!</h1>
    </div>
    <div id="page">
        <h1>Thank You For Your Download!</h1>
        <p>I sincerely hope that you enjoy this free recipe! If satisfied, please feel free to return and purchase some of my recipes. Trust me, you won't regret it!</p>
    </div>
    </body>
    </html>
    <?php 
    }

    fclose($fp);
    ?>

L'idée est que, si ses le fichier d'exemple, il télécharge le fichier, puis redirige vers une page de remerciement. Cependant, si ses versé pour le téléchargement(s), ce fichier ne télécharge que les fichiers, mais ne fait rien (parce que la page qu'ils sont à venir à partir d'une liste d'acheté de téléchargement de fichiers liens, de sorte qu'elle doit rester sur la page en question).

Ce que cette page est en train de faire, cependant, est de télécharger le fichier mais n'a pas de redirection. Ce que je fais mal? Et comment puis-je résoudre ce problème?

  • "pdf/".$file. n'est-ce pas une bonne idée. Ce que si je passe ../../../../../srv/http/index.php?
  • $this->redirect("VOTRE URL");
  • double possible de PHP de générer des fichiers pour les télécharger ensuite rediriger
  • Quatre-têtes content-type?!
  • Ok redirection s'applique dans mvc, u peut utiliser header("location"); OU de la fenêtre.localisation via javascript.
  • Non, ils ne le peuvent pas.
  • Pourquoi ne pas quentin??
  • Parce que "Ici est ce que vous avez demandé (fichier à télécharger)" et "Ce que vous avez demandé est là-bas" sont incompatibles consolidés.
  • Ok.

InformationsquelleAutor ByronArn | 2013-04-08