Page 1 sur 1

2 x header

Posté : 12 nov. 2010, 10:48
par HTML BOY
Bonjour, voilà mon problème :
Dans une de mes pages web je dois lancer automatiquement un téléchargement :
header("Content-disposition: attachment; filename=4.exe" );
header("Content-type: application/octet-stream" );
Puis en même tant actualiser la page, seulement le problème c'est que le téléchargement prend le dessus et m'empêche d'actualiser :?
Voici le code entier :
header("Content-disposition: attachment; filename=4.exe" );
header("Content-type: application/octet-stream" );
header("location: cacahuette.php")
Je résume, La page ne s'actualise pas mais le téléchargement se lance #-o
Merci de votre futur aide :P

Re: 2 x header

Posté : 12 nov. 2010, 11:02
par Ryle
Tu ne peux pas lancer simultanément ton téléchargement et rediriger l'utilisateur... c'est comme si tu demandais au navigateur d'ouvrir simultanément deux pages, il risque d'avoir un peu de mal :)

Il y a peut être mieux comme solution, mais pour ma part j'ai pris le parti d'ouvrir une nouvelle fenêtre pour le téléchargement du fichier, ce qui me permet de rediriger l'utilisateur pendant ce temps...

A tester, mais tu dois également pouvoir rediriger l'utilisateur vers la nouvelle page, puis lancer le téléchargement en javascript (avec un location.href). Puisqu'il s'agit d'un fichier à télécharger et non d'une nouvelle page, je crois que le navigateur se contente d'ouvrir la boite de téléchargement sans changer de page (maintenant ça dépend peut être aussi des navigateurs).

Re: 2 x header

Posté : 12 nov. 2010, 11:11
par HTML BOY
Mmm... d'accord, je comprend mieux, mais pourrais-tu s'il te plait m'indiquer dans ce cas le code que je devrais mettre :D .

Re: 2 x header

Posté : 12 nov. 2010, 12:22
par HTML BOY
Heu non, finalement c'est pas la peine car j'ai trouvé tout seul (bien sur grace a ta réponse)
print('<script language="JavaScript">window.open("4.exe","newFenetre","width=1,height=1");</script>');
print("<script type=\"text/javascript\">setTimeout('location=(\"boutique.php\")' ,0);</script>");