Invité Terry Posté(e) le 22 novembre 2004 Signaler Partager Posté(e) le 22 novembre 2004 Bonjour, J'aimerais savoir comment faire démarrer automatiquement le téléchargement d'un fichier ".zip" si la variable est "oui". J'ai essayé ça, mais ça ne marche pas : if ($id=='oui') {header("Location: dossier.zip");} Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
The Jedi Posté(e) le 22 novembre 2004 Signaler Partager Posté(e) le 22 novembre 2004 Bonjour, J'aimerais savoir comment faire démarrer automatiquement le téléchargement d'un fichier ".zip" si la variable est "oui". J'ai essayé ça, mais ça ne marche pas : if ($id=='oui') {header("Location: dossier.zip");} Ca a quel effet, rien ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Terry Posté(e) le 22 novembre 2004 Signaler Partager Posté(e) le 22 novembre 2004 Il se passe rien. J'ai tout vérifié : tout est dans le même répertoire, donc pas d'erreur de lien. Pourtant ça marche très bien pour l'affichage des images. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
The Jedi Posté(e) le 22 novembre 2004 Signaler Partager Posté(e) le 22 novembre 2004 Ok dans ce cas faut modifier le header du fichier surement : header("Content-type: application/zip"); header("Content-Disposition: attachment; filename=\"dossier.zip\""); header("Location: dossier.zip"); PS : pense que l'attachement se fait par rapport au chemin relatif (ou absolu) par rapport au fichier de download, celui qui est appelé, pas inclus. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Terry Posté(e) le 22 novembre 2004 Signaler Partager Posté(e) le 22 novembre 2004 Ca ne marche toujours pas : if ($id=='oui') {header("Content-type: application/zip"); header("Content-Disposition: attachment; filename=\"dossier.zip\""); header("Location: dossier.zip");} Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
The Jedi Posté(e) le 22 novembre 2004 Signaler Partager Posté(e) le 22 novembre 2004 Il devrait au moins te renvoyer une erreur oO Où est situé cette portion de code, dans la page de download dynamique ou bien ailleurs ? Précise le cheminement pour arriver jusque là. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Terry Posté(e) le 22 novembre 2004 Signaler Partager Posté(e) le 22 novembre 2004 Il est placé à l'endroit habituel, après <body> Il n'y a aucune erreur. Quand je regarde le code source, il n'y a rien entre <body> et </body><html> Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
The Jedi Posté(e) le 23 novembre 2004 Signaler Partager Posté(e) le 23 novembre 2004 Ben forcément ... tu ne peux plus manipuler le header si tu as déjà renvoyé des données au client. Tu as donc dû désactiver l'affichage de certaines erreurs. Au tout début de ton script tu peux rajouter error_reporting(E_ALL); Le mieux c'est de lire la doc : header() Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Terry Posté(e) le 23 novembre 2004 Signaler Partager Posté(e) le 23 novembre 2004 En html je place ceci dans <body> pour faire démarrer un téléchargement automatiquement : <body onLoad="location.replace('dossier.zip');"> Ca marche très bien. Donc normalement en php : if ($id=='oui') {echo "<body onload='location.replace(\"dossier.zip\")";} ou : if ($id=='oui') {echo "<body onload='window.open(\"dossier.zip\",\"download\",\" \")";} Que je met ce code avant, après ou dans <body>, ça affiche : <body onload='window.open("dossier.zip","download"," ") mais ne télécharge pas. Où est l'erreur ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
The Jedi Posté(e) le 23 novembre 2004 Signaler Partager Posté(e) le 23 novembre 2004 Il te manque un ' après la parenthèse de fin Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.