|
|
|
|
Hello le forum!
J'ai un petit souci plutôt important pour la nature de mon site. Savez-vous comment faire pour faire démarrer un téléchargement automatiquement après clic sur un lien image? Sans utilisé les headers (je ne sais pas pourquoi ça ne fonctionne pas chez moi) !! Ou alors, m'expliquer pour quand j'utilisé les headers, en précisant application/octet-stream, le fichier s'ouvre comme un fichier texte et ne démarre pas en tant que download..!
Merci!
~W~
Configuration: Windows XP Firefox 2.0.0.5
Salut,
$url = ('dossier/fichier_a_telecharger.txt');
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'. basename($url) .'";');
@readfile($url) OR die();
Et tu fais pointer ton lien vers fichier_a_telecharger.php et ca provoquera le téléchargement de fichier_a_telecharger.txt. Pour ne pas recréer ce fichier pour tous tes téléchargement utilise les variables POST( formulaire) ou GET. Comme ça : $url = ('dossier/'.$_GET['telecharger']);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'. basename($url) .'";');
@readfile($url) OR die();
Et tu fais pointer ton lien sur : fichier_pour_telecharger.php?telecharger=fichier_a_telecharger.txt Attention à la sécurité de ton site, il ne faut pas que n'importe qui puisse télécharger le fichier qu'il veut comme ça, par exemple en faisant : fichier_pour_telecharger.php?telecharger=index.php Pour cela il te suffit d'imposer un dossier dans lequel tu télécharge et de ne rien mettre de critique dedans $url = ('dossier_imposé/'.$_GET['telecharger']);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'. basename($url) .'";');
@readfile($url) OR die();
Tu peux même imposer une extension : $url = ('dossier_imposé/'.$_GET['telecharger'].'.txt');
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'. basename($url) .'";');
@readfile($url) OR die();
fichier_pour_telecharger.php?telecharger=fichier_a_telecharger
|