telecharger depuis le serveur ?

telecharger depuis le serveur ? - PHP - Programmation

Marsh Posté le 21-07-2005 à 11:25:33    

Salut,
 
Sur certains de mes formulaires, les données sont exporter sous forme de fichier .csv.
Mais le truc c est que quand je vais mettre le prog sur le serveur, le fichier creer sera enregistré sur le serveur et non sur le client.
Et apparament c est impossible de l enregistré sur le client car PHP est coté serveur.
Donc pour recuperer ce fichier csv ,il faut que je le telecharge de puis le serveur à partir du client est ce bien cela ?
Et pour le telecharger c est avec des balises HTML ?
Je vois pas trop comment faire ?
 
 
Merci

Reply

Marsh Posté le 21-07-2005 à 11:25:33   

Reply

Marsh Posté le 21-07-2005 à 11:32:59    

Bah tu balances un lien tout simple vers le CSV :??:

Reply

Marsh Posté le 21-07-2005 à 14:06:10    

Je l ai jamais fait c est pour sa  
je pensai que c etait plus compliquer que sa
j ai qu a faire un < a href ="monfichier.csv"></a>
et c est tout ?

Reply

Marsh Posté le 21-07-2005 à 14:12:04    

Oui...

Reply

Marsh Posté le 21-07-2005 à 14:12:40    

<a href="commande.csv">commande</a>
Je l ai fait mais c est normal que sa ne m affiche pas la boite de dialogue qui demande si on veux ouvrir ou telecharger le fichier.
Parceque la sa me l ouvre directement et quand je l ouvre directement il y a des erreurs

Reply

Marsh Posté le 21-07-2005 à 14:13:51    

Pour ça, faut triturer les header via PHP

Reply

Marsh Posté le 21-07-2005 à 14:19:51    

FlorentG a écrit :

Pour ça, faut triturer les header via PHP


+1
redirection vers l'url du fichier et modification du header

Reply

Marsh Posté le 21-07-2005 à 15:38:55    

j ai pas tres bien saisi

Reply

Marsh Posté le 21-07-2005 à 15:42:25    

Faut modifier le header HTTP pour provoquer le téléchargement cf. doc de header, y'a des exemples

Reply

Marsh Posté le 21-07-2005 à 16:06:17    

Code :
  1. <a href="truc.cvs" type="application/octet-stream">Telecharger</a>


 
A pas bon ca ?

Reply

Marsh Posté le 21-07-2005 à 16:06:17   

Reply

Marsh Posté le 21-07-2005 à 16:08:54    

Nan, faut faire ça côté serveur pour les navigateurs à la con :D

Reply

Marsh Posté le 21-07-2005 à 16:14:18    

Bah ca alors :/

Code :
  1. <?php
  2. $fichier = 'truc.cvs';
  3. header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  4. header('Content-Type: application/octet-stream');
  5. header('Content-Length: '.filesize($fichier));
  6. header('Content-Disposition: attachment; filename='.$fichier);
  7. readfile($fichier);
  8. ?>

Reply

Marsh Posté le 22-07-2005 à 09:29:25    

$fichier = 'truc.cvs';  
ouai mais dans ma fiche je vais devoir telecharger plusieurs fichiers
Un truc dans ce genre sa fonctionnerai

Code :
  1. <?php
  2. // Vous voulez afficher un pdf  
  3. header('Content-type: application/pdf');
  4. // Il sera nommé downloaded.pdf  
  5. header('Content-Disposition: attachment; filename="downloaded.pdf"');
  6. // Le source du PDF original.pdf  
  7. readfile('original.pdf');
  8. ?>


Reply

Marsh Posté le 22-07-2005 à 10:05:14    

Oui, en remplaçant tout ce qui touche au pdf par du csv

Reply

Marsh Posté le 22-07-2005 à 10:22:24    

toute maniere je devrais faire un passage de parametre car j ai plusieurs fichier a telecharger c est bien cela

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed