[php] démarrer un download automatiquement
Résolu/Fermé
wenijah
Messages postés
72
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
26 janvier 2012
-
20 juil. 2007 à 15:34
wenijah Messages postés 72 Date d'inscription mercredi 20 juin 2007 Statut Membre Dernière intervention 26 janvier 2012 - 20 juil. 2007 à 16:05
wenijah Messages postés 72 Date d'inscription mercredi 20 juin 2007 Statut Membre Dernière intervention 26 janvier 2012 - 20 juil. 2007 à 16:05
A voir également:
- [php] démarrer un download automatiquement
- Pc long a demarrer - Guide
- Extreme download - Accueil - Outils
- Démarrer en mode sans echec - Guide
- Windows 11 menu démarrer classique - Guide
- Word 2013 free download - Télécharger - Traitement de texte
1 réponse
s.spark
Messages postés
2485
Date d'inscription
vendredi 29 octobre 2004
Statut
Contributeur
Dernière intervention
13 février 2018
618
20 juil. 2007 à 15:46
20 juil. 2007 à 15:46
Salut,
La modification du header ne fonctionne pas si tu a affiché quelque chose avant (html, javascript ...), sinon ca ne s'appellerait pas comme ça ^^ (entête). On le répète très souvent au gens mais bizarrement c'est quelque chose qu'il ont du mal à intégrer.
Le mieux pour ne rien afficher avant c'est encore de créer un fichier rien que pour ça.
Tu crées par exemple un fichier fichier_a_telecharger.php et dedans tu mets :
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 :
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
Tu peux même imposer une extension :
fichier_pour_telecharger.php?telecharger=fichier_a_telecharger
La modification du header ne fonctionne pas si tu a affiché quelque chose avant (html, javascript ...), sinon ca ne s'appellerait pas comme ça ^^ (entête). On le répète très souvent au gens mais bizarrement c'est quelque chose qu'il ont du mal à intégrer.
Le mieux pour ne rien afficher avant c'est encore de créer un fichier rien que pour ça.
Tu crées par exemple un fichier fichier_a_telecharger.php et dedans tu mets :
$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
20 juil. 2007 à 15:54
20 juil. 2007 à 15:58
20 juil. 2007 à 16:05