probleme fichier téléchargé avec telechargement forcé de php - PHP - Programmation
Marsh Posté le 04-07-2007 à 10:18:37
c'est là que ça se passe :
header("Content-Transfer-Encoding: none" );
header('Content-Length: '.CFG_FILESIZE);
header('Content-MD5: '.base64_encode(CFG_FILE_MD5));
header('Content-Type: application/octetstream; name="'.CFG_SEND_FILENAME.'"');
si tu es sous windows et serveur sous linux ils ne gerent pas les retours chariot pareil.
a quoi te sert cette ligne ? header('Content-MD5: '.base64_encode(CFG_FILE_MD5));
puisque tu l'envoi en clair ?
Marsh Posté le 03-07-2007 à 17:22:29
Bonjour à tous,
Voilà, j'ai utilisé le code suivant pour forcer le téléchargement d'un fichier TXT.
//
// Constantes de configuration
//
define('CFG_SYSTEM_FILENAME', 'import/XIMPORT.TXT'); // Nom du fichier pour le système
define('CFG_SEND_FILENAME', 'XIMPORT.TXT'); // Nom du ficher pour le navigateur
//
// Constantes à ne pas modifier
//
define('CFG_FILESIZE', filesize(CFG_SYSTEM_FILENAME));
define('CFG_FILE_MD5', md5_file(CFG_SYSTEM_FILENAME));
define('CFG_DATE_FORMAT', 'D, d M Y H:i:s');
//
// Quelques éléments nécessaires
//
error_reporting(0);
ini_set('zlib.output_compression', 0);
/*
* Les en têtes nécessaires
*/
//
// Gestion du cache
//
header('Pragma: public');
header('Last-Modified: '.gmdate(CFG_DATE_FORMAT).' GMT');
header('Cache-Control: must-revalidate, pre-check=0, post-check=0, max-age=0');
//
// Informations sur le contenu à envoyer
//
header("Content-Transfer-Encoding: none" );
header('Content-Length: '.CFG_FILESIZE);
header('Content-MD5: '.base64_encode(CFG_FILE_MD5));
header('Content-Type: application/octetstream; name="'.CFG_SEND_FILENAME.'"');
header('Content-Disposition: attachement; filename="'.CFG_SEND_FILENAME.'"');
//
// Informations sur la réponse HTTP elle-même
//
header('Date: '.gmdate(CFG_DATE_FORMAT, time()).' GMT');
header('Expires: '.gmdate(CFG_DATE_FORMAT, time()+1).' GMT');
header('Last-Modified: '.gmdate(CFG_DATE_FORMAT, time()).' GMT');
/*
* Envoi du fichier
*/
readfile(CFG_SYSTEM_FILENAME);
Lorsqu'il est téléchargé, le fichier n'a plus les retours chariots qu'il a avant le téléchargement.
En bref :
Fichier avant téléchargement : retour chariot dans le contenu du texte
Fichier après téléchargement : plus aucun retour chariot dans le contenu du texte
En tout cas, ce problème ce pose lorsque je l'ouvre avec notpad.
Si j'ouvre avec Wordpad, les retour chariot sont présent.
Quelqu'un pourrai m'expliquer?
---------------
C'est dans le besoin que l'on reconnait ses amis