(PHP)readfile pb avec IE6
guillaume_74
Messages postés
116
Statut
Membre
-
vordano Messages postés 1981 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:
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...
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:
- (PHP)readfile pb avec IE6
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Retour à la ligne php ✓ - Forum PHP
- Alert php - Forum PHP
8 réponses
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...
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
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
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^^
Mais merci^^
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 :)
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 :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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 ;)
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\"");
}
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\"");
}