(php)permettre de voir ou télécharger un doc

Résolu/Fermé
guillaume_74 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 16 déc. 2009 à 10:26
guillaume_74 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 16 déc. 2009 à 14:31
Bonjour,
J'ai des documents stockés sur mon serveur, et j'aimerai permettre au gens de télécharger (ou voir) ces documents.
Donc en php...
Jusque la, j'avais utilisé "readfile" en initialisant les paramètre "header" auparavant, mais trop de bugs sont liés à cette méthode (fait n'importe quoi sur IE6, et lorsqu'il s'agit d'un fichier .txt, il m'injecte le l'html de ma page dans le fichier texte ==> pas terrible...)

Bref, comment faire alors pour télécharger/ voir un doc avec un script php? voir même javascript, mais comme c'est coté client, je doute que cela soit possible.

Merci d'avance a ceux qui pourront m'apporter leur aide =)
A voir également:

3 réponses

guillaume_74 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 22
16 déc. 2009 à 11:19
Personne ne sait faire?
0
guillaume_74 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 22
16 déc. 2009 à 11:40
Je pense avoir trouvé mon problème, c'est qu'il y a un affichage HTML dans la page ou j'appelle le "header" c'est possible que cela vienne de la?
0
guillaume_74 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 22
16 déc. 2009 à 14:31
Bon (même si tout le monde s'en fou...) j'ai trouvé le problème, il faut faire un "exit" a la fin du code!
$path='documents/'. $document;
$document=strtolower($document);
@ob_end_clean();
@ob_clean();
@ini_set('zlib.output_compression', 'Off');

header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: public');
header('Content-Type: application/force-download');
header('Content-Type: application/octet-stream');
header('Content-Type: application/download');
header('Content-Disposition: attachment; filename="'.basename($path).'";');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($path));
flush();
readfile($path);
exit();

Et maintenant ca marche bien ;)
0