pysco68
Messages postés681Date d'inscriptionsamedi 26 février 2005StatutMembreDernière intervention21 août 2014
-
20 juil. 2008 à 12:49
Utilisateur anonyme -
20 juil. 2008 à 20:14
bonjour les gens!!
bon je me bats avec une petite fonction qui me génère un fichier CSV (valeurs séparées par virgule...) jusque là tout va bien
le tout marche très bien, mais je dois forcer le téléchargement du fichier... et là un petit problème qui se pose dans la spécification HTTP/1.1, c'est qu'il faut que j'indique la longueur en byte du fichier, qui n'en est pas encore une.... et là mon problème:
comment trouver la longueur de cette chaine, sans devoir écrire le fichier sur le disque (ce que je veux éviter...) pour faire une sortie directe, en forçant le téléchargement...
le problème c'est que je n'ai pas que forcément des caractères ASCII dans les fichiers.... et que donc j'ai une jeu de caractère multibyte....
qu'en pensez vous?
Merci pour toutes piste qui pourrait me débloquer....
Sur ce bon midi
<hr size="2" width="100%" />Developpement Web Yannic GraphiX | Mon CMS yArt et sa démo <hr size="2" width="10" />
pysco68
Messages postés681Date d'inscriptionsamedi 26 février 2005StatutMembreDernière intervention21 août 20148 20 juil. 2008 à 13:50
J'ai fini par trouver....
solution: convertir la chaine en UTF-8, et utiliser mb_strlen() pour compte la longueur en le forçant sur "latin1" comme jeu de caractère....
bref, pour ceux à qui ça pourrait servir:
<hr size="2" width="100%" />$out_utf8 = utf8_encode($out); // Transforme en UTF-8
header("Content-disposition: attachment; filename=nom_du_fichier.txt");
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: text/plain\n"); // Surtout ne pas enlever le \n
header("Content-Length: ".mb_strlen($out_utf8, 'latin1'));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
echo $out_utf8;
<hr size="2" width="100%" />ça à l'air de marcher en tout cas ;)
allé!! bonne journée!
<hr size="2" width="100%" />Developpement Web Yannic GraphiX | Mon CMS yArt et sa démo <hr size="2" width="10" />