(PHP)readfile pb avec IE6

guillaume_74 Messages postés 116 Statut Membre -  
vordano Messages postés 1981 Statut Membre -
Bonjour,
J'ai créé un script en php permettant de déposer des fichiers sur un serveur, et de les récupérer avec une fenêtre de téléchargement.
Pour lire le fichier, j'utilise un "readfile".
Tout fonctionne très bien dans les versions de firefox (aucun problème a signaler) tout fonctionne pour IE7 et 8.
Or, lorsque que je travaille avec IE6... j'ai un problème, quand je télécharge un fichier pour l'ouvrir, il me dit:
"Impossible de trouver le fichier "C:\Document And Settings\MyLogin\Local Settings\Tamporary Internet Files\Content.IE5\A6[...]6Y\mon_fichier[1].txt"
et donc... plantage!
Rien a faire... je sais pas si c'est parceque j'utilise "Internet Explorer Collection".
Mon code php est le suivant:
//$document, le nom du document a ouvrir
header("Content-disposition:  attachment; filename=$document");//attachment;
		header("Content-Type: application/force-download");//header("Content-Type: image/jpeg");
		header("Content-Transfer-Encoding: $type\n"); // Surtout ne pas enlever le \n
		header("Content-Length: ".filesize(realpath('upload/documents'.$document)));
		header("Pragma: no-cache");
		header("Cache-Control: no-cache, must-revalidate");
		header("Expires: 0");
		ob_end_clean();
		flush();		
		readfile(realpath('upload/documents'.$document));

PS: le problème ne provient pas de realpath (qui est quelque chose que j'ai testé pour voir si c'était le problème...
Si quelqu'un voit de quoi ce problème peut venir...
A voir également:

8 réponses

guillaume_74 Messages postés 116 Statut Membre 22
 
Ce problème n'est vraiment que sur IE6 ... et inférieur... la, je suis en train de voir s'il y a un autre moyen de télécharger des documents sur le serveur...
0
toto1983 Messages postés 215 Statut Membre 13
 
Alors la version de IE6 ne prends probablement pas en charge le téléchargement de fichiers. Je te suggère de ne pas trop passer de temps là-dessus, à moins que ton entourage utilise encore IE6 :/ j'en doute.
A mon avis si ton code fonctionne, sur les dernières versions de ie et sur ff, c'est que c pas ça le problème.
C ie(66)6 niahahahahahaaaaa !!!
je blague
0
guillaume_74 Messages postés 116 Statut Membre 22
 
Nan mais les clients de ma boite utilisent encore en parti IE6, il faut que le code fonctionne dans la majeur partie des cas... Donc, même si je suis du même avis que toi, je dois faire en sorte que ca fonctionne sur IE6, c'est pour ca... la, je cherche une solution de contournement.

Mais merci^^
0
toto1983 Messages postés 215 Statut Membre 13
 
Ok mais il me semble que j'avais eu le même souci que toi. essaie de créer un code propre à ie6 qui marche avec ie6 et tu exécute pas ton code qui marche sur les autres navigateurs mais tu exécute un code différent qui marche sur ie6 :
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6' ) !== TRUE)
//fonction IE6
else
// fonction autres navigateurs

après je sais pas si je pourrais aller jusqu'au bout avec toi :)
0

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

Posez votre question
guillaume_74 Messages postés 116 Statut Membre 22
 
Aller jusqu'au bout? =)
Alala! Ben merci, c'était ce que j'avais pensé faire.. juste, faut trouver ce qui fonction avec IE6.. d'après mes brève recherche j'ai pu voir "active x" mais appelé avec du javascript (donc jsuis septique^^ ) 'fin bon, jvais bien trouver quelque chose
0
toto1983 Messages postés 215 Statut Membre 13
 
Moi ctait avec du css que j'avais eu des soucis. Tu as sans doute une longueur d'avance par rapport à moi, je pense que tu y arriveras ;)
0
StefBroox
 
Un peu tard mais si ça peut aider quelqu'un ....

if (strstr ($_HTTP_USER_AGENT, "MSIE")) {
header ("Pragma: public");
header ("Expires: 0");
header ("Cache-Control: doit-revalider, post-check = 0, pré-check = 0");
header ("Content-Type: application de téléchargement; name=\"$sFilename\"");
header ("Content-Length: $iTaille");
header("Content-Disposition: attachment; filename=\"$sFilename\"");
header ("Content-Transfer-Encoding: binary");
} else {
header ("Content-Type: application de téléchargement; name=\"$sFilename\"");
header ("Content-Length: $iTaille");
header("Content-Disposition: attachment; filename=\"$sFilename\"");
}
0
vordano Messages postés 1981 Statut Membre 316
 
salut,

tu pourrais aussi conseiller aux clients de ta boite d'upgrader vers ie 7 ou +, histoire d'éviter certaines failles de sécurité (et entre autre te faciliter le boulot)

c'est pas pour rien que même microsoft conseille d'upgrader ^^
0