forcer le téléchargement : problème [résolu]


marylinepsyche
WRInaute discret
WRInaute discret
 
Messages: 79
Inscription: 24 Fév 2005

forcer le téléchargement : problème [résolu]

Message le Mar Jan 16, 2007 11:41

Bonjour,

Je sèche sur mon problème, et après réflexion et recherche sur le web, je ne vois pas de solution se profiler...
Voila mon souci, j'aimerais que lorsqu'on clique sur le lien, le fichier .txt soit proposé en téléchargement.
Or pour l'instant, mon navigateur le lit. Comment faire pour que ca fonctionne ? y a t'il une erreur dans mon code ?
Merci d'avance !

voici mon code :

Code: Tout sélectionner
<?php
if (!isset($_GET["fichier"]))
{
   if ($handle = opendir('.'))
   {
      while (false !== ($file = readdir($handle)))
      {
         if ($file != '.' && $file != '..' && $file != 'index.php' && $file != '.htaccess')
         {
            echo '<a href="index.php?fichier=' . $file . '">' . $file . '</a><BR>';
         }
      }
   closedir($handle);
   }
}

else {
   $Fichier_a_telecharger = $_GET["fichier"];
   header("Content-disposition: attachment; filename=$Fichier_a_telecharger");
   header("Content-Type: application/force-download");
   header("Content-Transfer-Encoding: text/plain\n"); // encodage pour un fichier .txt
   //header("Content-Transfer-Encoding: binary");
   header("Content-Length: ".filesize($Fichier_a_telecharger));
   header("Pragma: no-cache");
   //header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
   header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
   header("Expires: 0");
   readfile($Fichier_a_telecharger);
}
?>

Dernière édition par marylinepsyche le Mar Jan 16, 2007 17:12, édité 1 fois.


Chirurgien
WRInaute discret
WRInaute discret
 
Messages: 67
Inscription: 3 Sep 2006

Message le Mar Jan 16, 2007 11:50

Voila ce que j'ai ça fonctionne bien pour les txt
Code: Tout sélectionner
header("content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$telurl);
readfile($telurl);


marylinepsyche
WRInaute discret
WRInaute discret
 
Messages: 79
Inscription: 24 Fév 2005

Message le Mar Jan 16, 2007 11:57

je viens de tester avec ce code, mais chez moi, le navigateur lit le fichier, et ne le propose toujours pas en telechargement.
est-ce que le probleme peut venir de mon hénergeur ? c'est pour un site hébergé chez Mailclub.

fablezouave
WRInaute discret
WRInaute discret
 
Messages: 109
Inscription: 20 Déc 2006

Message le Mar Jan 16, 2007 12:31

salut

Il n'y aurait pas d'espaces dans le nom de tes fichiers, par hasard ?

fab


marylinepsyche
WRInaute discret
WRInaute discret
 
Messages: 79
Inscription: 24 Fév 2005

Message le Mar Jan 16, 2007 13:26

fablezouave a écrit:salut

Il n'y aurait pas d'espaces dans le nom de tes fichiers, par hasard ?

fab


non, pas d'espace...


marylinepsyche
WRInaute discret
WRInaute discret
 
Messages: 79
Inscription: 24 Fév 2005

Message le Mar Jan 16, 2007 13:59

bon et bien je viens de resoudre le pb :
c'est parce que j'avais mis les balises <html> et <body> avant les header, donc forcement, ca pouvait pas marcher !!


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité