soucis pour la création d'un lien de téléch d'un fichier csv - PHP - Programmation
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
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:
<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
<?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;
?>