Help !! Fermer le fenêtre après avoir forcer le téléchargement

rastaprogram Messages postés 18 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 27 janvier 2006 - 1 juin 2005 à 15:51
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 1 juin 2005 à 17:34
Slt,

Voila sur mon site je force le téléchargement d'un fichier par l'ntermédiaire d'un script de dowload qui est le suivant :
<?php
$file =$_GET["file"];
$filename=basename($file);
$type_mime=$_GET["mime"];
header("Content-disposition: attachment; filename=".$filename);
header("Content-Type: application/pdf");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($file));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Expires: 0");
readfile($file);
?>

Les paramètres sont passés dans l'url avec un lien :
/download.php?file="$fichier"&mime=".$mime_fichier."" class="lien_action_news" target="_new">Télécharger\n";

Une fenêtre s'ouvre et me propose le téléchargement mais qd le téléchargement est terminé j'ai tjs une fenêtre derriere que je suis obligé de fermer a la main. Je voudrais quelle se ferme automatiquement apres le téléchargement du fichier.

Merci d'avance

8 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
1 juin 2005 à 16:41
Salut!

Est si tu offre le téléchargement dans un popup, tu peux le fermer en JS?



@++



R@f

0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 juin 2005 à 16:43
Hello,



ben une fois le readfile(); termine, tu fais

self.close();
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 juin 2005 à 16:43
Hello,



ben une fois le readfile(); termine, tu fais un petit javascript
self.close(); (verifie la syntaxe je ne suis pas un pro du javascript).
0
rastaprogram Messages postés 18 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 27 janvier 2006
1 juin 2005 à 17:01
Je connais le self.close() mais je sais pas ou le placer dans mon code pour que la fenêtre se ferme. Si je place
<script language="javascript">
self.close();
</script>
juste après mon code php ca marche pas.

si tu as une autre solution je suis prenneur.
tkx
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 juin 2005 à 17:04
Ben oui c'est logique en fait, vu le content-type...

Non, je ne sais pas alors, desole.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 juin 2005 à 17:05
Note que Coockiesh a une bonne idee, tu peux fermer ta fenetre _new a
partir du parent...mais il faut essayer de determiner si le
telechargement est fini...et ca...:-( Vu que ca se passe cote
client...ca va pas etre simple. Surement pas en php en tous cas.
0
rastaprogram Messages postés 18 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 27 janvier 2006
1 juin 2005 à 17:28
j'ai trouvé une solution j'ai enlevé mon target dans mon lien comme ca la fenêtre n'apparaît plus;

Merci tout de meme
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
1 juin 2005 à 17:34
Salut,



<?php

if(!isset($_GET['file']))

{

exit('Pas de fichier spécifié

');

}
$file =$_GET['file'];
$filename=basename($file);
$type_mime=$_GET["mime"];
header("Content-disposition: attachment; filename=".$filename);
header("Content-Type: application/pdf");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($file));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Expires: 0");
readfile($file);
?>

<html>

<head>

<script type="text/javascript">

window.close();

</script>

</head>

</html>



en gros..



Bon si tu veux spécifier le doctype du document html libre à toi lol, mais je l'ai pas fait pour simplifier.



a +





<li>
0
Rejoignez-nous