cs_PatX
Messages postés34Date d'inscriptionmardi 28 décembre 2004StatutMembreDernière intervention11 mai 2007
-
11 mai 2005 à 20:45
cs_PatX
Messages postés34Date d'inscriptionmardi 28 décembre 2004StatutMembreDernière intervention11 mai 2007
-
14 mai 2005 à 11:27
Bonjour à tous,
J'ai un problème avec la fonction readfile() : en fait je veux
télécharger un fichier pdf sans que celui-ci s'ouvre dans le
navigateur. Voici mon code :
header("Content-Transfer-Encoding:
binary");
// we want it in binary
readfile($url);
Si vous voyez une erreur, ou si vous avez une suggestion pour écrire un
script qui permette de forcer le téléchargement, pouvez-vous me le dire
? Apparamment, ce script fonctionne chez un autre hébergeur, mais chez
free, cela passe mal (le résultat, c'est une succession de caractères
bidons). Et le comble, c'est que readfile() ne fait pas partie des
fonctions désactivées sur free.fr.
Merci de ta réponse, mais ça ne change pas grand chose lol ! Regarde ce
que cela donne (arrête le chargement de la page, sinon, y a des chances
que le browser plante ...)
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 12 mai 2005 à 22:53
Hum, t'envoie du code html ou tu fais un echo avant ton premier header, normal que ça foire.
Il ne faut rien envoyer au navigateur avant de faire ça sauf si tu
utilises en haut de page la fonction ob_start() et en bas la fonction
ob_end_flush()
cs_PatX
Messages postés34Date d'inscriptionmardi 28 décembre 2004StatutMembreDernière intervention11 mai 2007 14 mai 2005 à 11:27
Le problème, c'est que le script qui force le navigateur à ouvrir la
boite de dialogue de téléchargement fonctionne très bien tel qu'il est
sur des serveurs payants. Donc, les headers fonctionnent correctement.
L'url que je récupère dans le $url est valide (vérifier avec un echo),
donc tout le problème vient de la fonction readfile sur les serveurs de
free, mais la fonction n'est pas désactivée ni limitée sur free.
Alors je me demande comment on peut forcer un download sur les serveurs des sites perso de free ...