PHP: Forcer telechargement PUIS redirection

WRInaute occasionnel
Bonjour a tous,
en cherchant ici et en demandant a mon amis GG, j'ai trouve comment forcer le téléchargement d'un fichier. c'est cool mais maintenant j'ai un autre problème :?
Une fois que l'utilisateur a telecharge le fichier, je voudrais rediriger la page. or ca ne marche pas.
voila mon code :


Code:
header("Expires: Thu, 07 Jan 1982 00:30:00 GMT"); // some day in the past to avoid cached files
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$tmp[sizeof($tmp)-1]);
header("Content-Transfer-Encoding: binary");
readfile($fullpath.$filepath); 
				
//jusque la ca marche. on me propose bien de telecharger le fichier

header('Content-Type: text/html; charset=utf-8');
header("HTTP/1.1 200 OK");
echo "apres download";

il ne m'affiche meme pas le "apres download"
je pense que c'est un pb de header. Il doit falloir lui dire que c'est a nouveau une page html classique mais j'arrive pas a trouver la solution.

j'espere que vous pourrez m'aider.
merci d'avance et bon we a tous
 
WRInaute discret
Problème: chaque document web (identifié par le serveur par la valeur de la commande HTTP GET) n'est envoyé qu'une fois, avec un jeu unique d'en-têtes HTTP.

Donc, sauf erreur de ma part, la méthode que tu as employée ne peut pas fonctionner.

Il faudrait voir comment font les sites de téléchargement, sur leurs pages de téléchargement.
Edit: Sourceforge procède ainsi:
Code:
<iframe id="file_download" width="0" height="0" scrolling="no" frameborder="0" src="http://downloads.sourceforge.net/sourceforge/taskcoach/TaskCoach-0.66.1-win32.exe?use_mirror=mesh"></iframe>

On charge donc bien deux documents web séparés:
- la page principale;
- un document appelé via une iframe... document qui ne s'affichera pas dans l'iframe vu qu'il s'agit d'un fichier à télécharger.
 
WRInaute occasionnel
Florent V. a dit:
Problème: chaque document web (identifié par le serveur par la valeur de la commande HTTP GET) n'est envoyé qu'une fois, avec un jeu unique d'en-têtes HTTP.

Donc, sauf erreur de ma part, la méthode que tu as employée ne peut pas fonctionner.

Il faudrait voir comment font les sites de téléchargement, sur leurs pages de téléchargement.
Edit: Sourceforge procède ainsi:
Code:
<iframe id="file_download" width="0" height="0" scrolling="no" frameborder="0" src="http://downloads.sourceforge.net/sourceforge/taskcoach/TaskCoach-0.66.1-win32.exe?use_mirror=mesh"></iframe>

On charge donc bien deux documents web séparés:
- la page principale;
- un document appelé via une iframe... document qui ne s'affichera pas dans l'iframe vu qu'il s'agit d'un fichier à télécharger.

ah super c'est une bonne idee, je vais chercher de ce cote la.

merci bcp
 
Discussions similaires
Haut