Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1765 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Header() et telechargement automatique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Header() et telechargement automatique

n°1095419
MysticWolf
Posté le 24-05-2005 à 18:28:42  profilanswer
 

Bonjour à tous,
je tente désespéremment de mettre en place un
système de téléchargements automatique de fichiers
mais j'ai beau tout tenté je n'y arrive pas. Les fichiers
que je souhaite mettre à disposition sont des fichiers msword,
excel and co.
voila ce que je tente.

Code :
  1. $file =  "d:\\testxx\\coteplancher.DOC"; 
  2. if (file_exists($file) == true) // la condition passe tt le tps ...
  3. {
  4.     $len = filesize($file);
  5.     $fp = fopen($file, 'rb');
  6.     header("Expires: Mon, 23 Jul 2004 00:00:00 GMT" );
  7.     header("Cache-Control: no-store, no-cache, must-revalidate" );   // HTTP/1.1
  8.     header("Cache-Control: post-check=0, pre-check=0", false);
  9.     header("Pragma: no-cache" );
  10.     header("Cache-Control: private" );
  11.   //  header("Content-Transfer-Encoding: binary" );
  12.   //  header("Content-Description: File Transfer" );
  13.     header("Content-Type: application/msword" );
  14.    // header("Content-Length: ".$len);
  15.     header("Content-Disposition: attachment; filename=\"".substr(strrchr($file, "\\" ), 1)."\";" );
  16.     fpassthru($fp);
  17.     exit
  18.   }


 
j'ai égalemen tenté l'autre méthode avec l'utilisation de la fonction
readfile, j'ai également tenté d'enlever du header dans rajouter...  
mais ca ne change rien le résultat est toujours le même :
j'obtiens un fichier avec l'extension souhaitée (doc) mais ce fichier
contient les données en binaire lorsque je l'ouvre avec word...
Si quelqu'un a une idée merci beaucoup

mood
Publicité
Posté le 24-05-2005 à 18:28:42  profilanswer
 

n°1095447
afbilou
pouet your life
Posté le 24-05-2005 à 18:56:56  profilanswer
 

Code :
  1. ob_clean();
  2. header("Cache-Control: must-revalidate, post-check=0, pre-check=0" );
  3. header("content-type: application/octet-stream" );
  4. header("Content-Length: ".filesize($file));
  5. header("Content-Disposition: attachment; filename=".str_replace(" " , "_" , basename($file));
  6. flush();
  7. readfile($file);


 
en precisant dans le content-type msword ou autre ... le navigateur va essayer d'ouvrir le fichier avec l'application plutot que de telecharger le fichier

n°1095476
MysticWolf
Posté le 24-05-2005 à 19:39:48  profilanswer
 

Merci beaucoup. Effectivement le script marche mais l'erreur n'est pas liée finalement  
au content-type mais à la fonction ob_clean(); que j'avais ommise.  
Encore merci et bonne semaine


Message édité par MysticWolf le 24-05-2005 à 19:40:14

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Header() et telechargement automatique

 

Sujets relatifs
Autre solution que header()?définir les dimensions d'une fenêtre et sa fermeture automatique
header[.Net] Alignement Header d'un DataGrid
Comment imposer une barre de telechargement?Mise à jour automatique de base Acces à Mysql ??
[vba excel] Mise a jour automatique de calculs : une option ??NEWBIE : Probleme de frame, header, target.
Authentification automatiqueheader
Plus de sujets relatifs à : Header() et telechargement automatique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR