Je vois le problème, c'est vrais que je n'avais pas testé le code en PHP de mon coté, ton zip se télécharge bien mais le fichier n'as pas le bon nom.
De mon coté je vient juste de tester de reproduire le bug sans succès, j'ai créer un fichier click.php avec juste une ligne dedans
1 2 3
| <?php
header('Location: /images/fileTest'. $_REQUEST["id"] .'.zip');
?> |
Et un fichier HTML avec un simple lien
<a href="/click.php?id=1">Télécharger zip</a>
Et je ne suis pas parvenus a reproduire ton problème, le fichier se télécharge bien avec le bon nom sans aucun souci.
A la rigueur une façons de fixer le nom du fichier téléchargé est de rajouter un attribut download sur la balise <a> dans ton code HTML
<a download="leNomDuFichier.zip" href="click.php?id=1">Télécharger le zip</a>
Je pense que ça devrais être la solution la plus simple à implémenter pour toi, une autre solution qui pourrais être testée serais de changer de méthode pour lancer le téléchargement, en gros renvoyer le fichier directement dans le code PHP plutôt que de rediriger dessus.
1 2 3 4 5 6 7 8
| $file = "/images/fileTest". $_REQUEST["id"] .".zip";
header("Content-Description: File Transfer");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"". basename($file) ."\"");
readfile ($file);
exit(); |
Ce serais donc a la place de header("Location: /images/test" . $_REQUEST["id"] . ".zip");
Si vraiment tu n'arrivais pas a fixer ce problème tu devrais peut être te rediriger vers la partie PHP du forum qui sera surement plus apte à t'aider pour ce cas la.
Partager