Forcer le telechargement en PHP
JI
Messages postés
151
Statut
Membre
-
Dud Messages postés 13 Statut Membre -
Dud Messages postés 13 Statut Membre -
Bonjour
J'utilise le script suivant pour forcer le telechargement
Voici enfin le script pour forcer le telechargement d'un fichier .doc, .jpg, .xls, ouverts automatiquement par le navigateur.
Dans la page où se trouve le lien hypertexte du fichier à telecharger
<?php
...
$filname=nom du fichier à downloader;
$dir= "chemin complet vers le fichier/".$filname;
...
?>
...
<a href="download.php?dir=<?=$dir?>&filname=<?=$filname?>">download</a>
...
Dans le fichier download.php ecrire ce simple code:
<?php
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=$filname");
readfile("$chemin");
?>
Cela marche tres bien sur free.fr, mais chez mon nouvel hebergeur le nom du fichier est toujours download.avi (avi est un exemple)
Le contenu du fichier est le bon mais le nom me pose pb
Dans header("Content-Disposition: attachment; filename=$filname"); on dirai que filename prend la valeur du nom du fichier download.php3 ... Bref A L'AIDE ..
JI
J'utilise le script suivant pour forcer le telechargement
Voici enfin le script pour forcer le telechargement d'un fichier .doc, .jpg, .xls, ouverts automatiquement par le navigateur.
Dans la page où se trouve le lien hypertexte du fichier à telecharger
<?php
...
$filname=nom du fichier à downloader;
$dir= "chemin complet vers le fichier/".$filname;
...
?>
...
<a href="download.php?dir=<?=$dir?>&filname=<?=$filname?>">download</a>
...
Dans le fichier download.php ecrire ce simple code:
<?php
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=$filname");
readfile("$chemin");
?>
Cela marche tres bien sur free.fr, mais chez mon nouvel hebergeur le nom du fichier est toujours download.avi (avi est un exemple)
Le contenu du fichier est le bon mais le nom me pose pb
Dans header("Content-Disposition: attachment; filename=$filname"); on dirai que filename prend la valeur du nom du fichier download.php3 ... Bref A L'AIDE ..
JI
A voir également:
- Forcer le telechargement en PHP
- Forcer demarrage pc - Guide
- Telechargement direct - Accueil - Outils
- Forcer suppression fichier - Guide
- Forcer réinitialisation pc - Guide
- Forcer à quitter - Guide
6 réponses
Ton envoi de header n'est pas très correct, il ne marchera pas avec tous les browsers, regarde celui que j'ai donné à cette adresse < http://www.commentcamarche.net/forum/affich.php3?cat=3&ID=127458&page=1> (je l'ai pris dans la source de phpMyAdmin).
Merci pour l'info, j'en prend bonne note. Mais ceci ne regle pas monPb ;) Car c coté serveur que se trouve le PB
Qqun aurait une idée?
Qqun aurait une idée?
Salut,
Elle est vachement bien ta question : j'ai eu le même problème et je n'ai jamais réussi à le faire passer. De mémoire je crois que j'ai été obligé d'utiliser une astuce : j'ai fait une redirection. J'ai utilisé l'erreur 302 je crois et j'ai mis un header(Location : <urlfichier>).
Pas très joli, je te l'accorde... Mais bon. Je ne peux pas t'assurer que cela marche parce que pour moi, le serveur Php que j'utilisais n'acceptais pas les header d'erreur HTTP, tu aura peut être plus de chance...
Elle est vachement bien ta question : j'ai eu le même problème et je n'ai jamais réussi à le faire passer. De mémoire je crois que j'ai été obligé d'utiliser une astuce : j'ai fait une redirection. J'ai utilisé l'erreur 302 je crois et j'ai mis un header(Location : <urlfichier>).
Pas très joli, je te l'accorde... Mais bon. Je ne peux pas t'assurer que cela marche parce que pour moi, le serveur Php que j'utilisais n'acceptais pas les header d'erreur HTTP, tu aura peut être plus de chance...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question