8792 sujets

Développement web côté serveur, CMS

Bonjour,
j'ai un script qui permet de télécharger un fichier, en lancant des header :

	ini_set('zlib.output_compression','Off');  // JUSTE HISTOIRE D'ETRE SUR

	# ouverture du fichier

	header('Content-disposition: attachment; filename="'.$file.'"');
	header('Content-Type: application/force-download');

	header('Content-Transfer-Encoding: '.$type);
	header("Content-Length: " . filesize($path.$file));

	header("Pragma: public");  // POUR HTTPS
	header("Cache-Control: cache, must-revalidate"); // IDEM

	header("Expires: 0");

	readfile($path.$file);
	exit;


Le fichier existe et est bien téléchargé, mais lors du clic sur le lien, si le fichier est nommé du genre nom.de.mon.fichier.doc, la fenêtre d'ie s'affiche en me proposant d'enregistrer le fichier sous le nom nom[1].de.mon.fichier.doc
C’est sans doute un petit bug ie avec la gestion des fichiers en cache, sachant que sous firefox ou opera ça ne me rajoute pas [1]

Je suis en https donc je dois utiliser pragma et cache control. J’ai quand même essayé hors de https et j'ai enlevé ces deux headers et même topo. En fit j'ai essayé en enlevant tous les headers sauf les deux premiers, et le bug est toujours là. Quelqu'un connait il ce bug et sais t'il s'il est possible de le circonvenir ?

Je suis sous IE6 et je n'ai pas encore pu tester sur une autre version

Merci d'avance !
Bonjour,

Ie n'assimilerais pas ca à une copie du fichier d'origine ? Quand tu fais, afficher la source d'une page, il te marque toujours le nom-de-la-page[1].htm pour te signaler que ce n'est qu'une copie de cette page. Fx ou Opéra ne font pas ca.
oui je sais bien, mais là il mets sont [1] juste avant le premier point, pas avant le point de l'extension du fichier
et de toute facon je lui demande un dowload direct ( Content-Type: application/force-download ) donc il ne doit pas considerer que c'est un fichier a mettre dans le cache
je suppose qu'il doit y avoir un moyend e bidouiller mes header pour lui dire de ne pas se planter, mais je n'ai pas encore trouver comment