[PHP]Problème fonction ...

Bonjour,
j'ai rédigé une fonction censée permettre le téléchargement d'un fichier. Seulement je n'obtiens qu'un bug d'internet explorer ...

voici ma source :

function forcerTelechargement($nom, $situation, $poids)
{ header('Content-Type: application/octet-stream');
header('Content-Length: '. $poids);
header('Content-disposition: attachment; filename='. $nom);
header('Pragma: no-cache');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
readfile($situation);
exit();
}
// j'appelle ma fonction :
forcerTelechargement('test.bmp', 'C:/Documents and Settings/jean/Bureau/test.bmp', '10000');

Je ne comprends pas pourquoi cela ne fonctionne pas...

En espérant que vous pourrez m'aider..

Bonne journée
Configuration: Windows XP
Internet Explorer 7.0

6 réponses

  1. Contributeur
    Bonjour et qu'elle est ce bug ? Parce que Internet Explorer est navigateur, ce n'est pas lui qui exécute le PHP, mais ton serveur Apache.
    9a ne fonctionnerait pas mieux avec $situation = './dossier/test.bmp'
    1. J'ai remplacer $ situation mais rien n'y fait ... La fonction ne s'exécute pas ... Elle naffiche pas le fichier ...
      1. Contributeur
        Bien sur il ne faut pas copier/coller ce que je t'ai donné.
        1. lol si tu crois que j'en suis resté à $situation = './dossier/test.bmp' tu te trompes ... j'ai pas oublié de modifier ...
          1. Contributeur
            $nom='test.bmp';
            $url = 'http://www.domaine.net/telechareger/' . $nom;
            
            forcerTelechargement($url);
            
            function forcerTelechargement($situation)
            {
            	header('Content-Description: File Transfer');
            	header('Content-Type: application/octet-stream');
            	header('Content-Disposition: attachment; filename="'. basename($situation) .'";');
            	@readfile($url) OR die();
            } 


            ou encore :

            forcerTelechargement('test.bmp');
            
            function forcerTelechargement($nom)
            {
            	$url = 'http://www.domaine.net/telechareger/' . $nom;
            	header('Content-Description: File Transfer');
            	header('Content-Type: application/octet-stream');
            	header('Content-Disposition: attachment; filename="'. basename($url) .'";');
            	@readfile($url) OR die();
            }