soucis pour la création d'un lien de téléch d'un fichier csv

soucis pour la création d'un lien de téléch d'un fichier csv - PHP - Programmation

Marsh Posté le 10-04-2006 à 17:46:23    

je souhaite donc donner à l'utilisateur la possiblité de générer un document csv et de le telecharger.
J'ai donc ecris le code ci dessous, mais j'ai plusieurs problemes.
 
- quant l'utilisateur clique sur le lien, ca ouvre deux fenetres, un explorateur (ie ou firefox) vide, et ca lance excel. Comment ouvrir excel dans l'explorateur uniquement ?
- le fichier csv ouvert par excel n'est pas reconnu comme tel, toutes les données se retrouvent dans une meme cellule, alors que si on l'enregistre en local et qu'on l'ouvre par la suite ca se passe nickel.
 
y'a t'il une méthode connue ? qui marche mieu :)
 
Formulaire:

Citation :

<html>
<head>
{scriptOpen:h}
 
    function download() {
        document.frm.target = "_blank";
        document.frm.action = "{webRoot}/attach.php?file={file}";
        document.frm.submit();
        document.frm.target = "_self";
        document.frm.action = "";
    }    
     
{scriptClose:h}
</head>
 
<body>
<form name="frm">
<a onclick="download();">
    <img src="{webRoot}/themes/{theme}/images/extract_csv.gif">
</a>
</form>
</body>
 
</html>


 
Fichier attach.php

Citation :

<?php
header("Content-Type: application/csv-tab-delimited-table" );
header("Content-disposition: filename=" . $file);
header("Content-Type: application/force-download" );
header("Content-Transfer-Encoding: binary" );
 
blabla...
$out = $data; //recup de données
echo $out;
?>

Reply

Marsh Posté le 10-04-2006 à 17:46:23   

Reply

Marsh Posté le 12-04-2006 à 11:03:32    

concernant l'ouverture directement dans le navigateur, tout dépend du navigateur et tu ne peux pas intervenir
 
pour la lecture directe qui ne reconnait pas le format, il manque des infos dans ton entete (taille du fichier notamment) et il faudrait voir à quoi ressemble ton fichier csv

Reply

Sujets relatifs:

Leave a Replay

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