Comment faire pour faire télécharger des fichiers, sans que l'adresse du fichier soit connu.
Comment faire pour faire télécharger des fichiers, sans que l'adresse du fichier soit connu.
Tu peux passer par l'URL Rewriting, mais peut-etre qu'il y a une solution plus pratique... !
En voulant accéder à nexistepas.html, cela "redirigera" vers trouve.html, mais tout en gardant la "fausse page" (nexistepas.html) dans la barre d'adresse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 RewriteEngine on RewriteRule ^nexistepas.html$ trouve.html [L]
Ca revient au même/
Par exmple j'ai un test de connexion sur ma page telechargement.php?fichier=5
Ca va lui envoyé un fichier, et il connaitra l'adresse du fichier
www.monsite.com/monfichier.zip
Apres on peut passer cette adresse à tout le monde.
Il faudrait passer par des sessions : il n'a pas la bonne variable de session ? Il ne peut pas télécharger le fichier.
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
Oui, évidemment, ce serait le plus pratique...
Cependant, ça augmente largement la taille de la BDD et ce n'est pas toujours souhaitable.
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
peut-être en cryptant le lien en md5 :/
je dis ça à tout hasard, je n'ai pas trop réfléchi ^^
Je viens de faire un test, et ça fonctionne bien, l'utilisateur ne verra en aucune façon la "veritable emplacement" du fichier.
La page de telechargement aura la forme telecharger_5.html (par ex)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 RewriteEngine on RewriteRule ^telecharger_([0-9]+)[.]html$ fichier.zip [L]
Seul hic, à la demande de telechargement, il demande d'enregistrer le fichier telecharger_5.html (format html donc), alors que c'est en fait un zip!
Il faudra donc le renommer en .zip
Pour éviter cela, tu peux mettre une extension zip à la règle de réécriture (au lieu de html). Ce qui donnerai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 RewriteEngine on RewriteRule ^telecharger_([0-9]+)[.]zip$ fichier.zip [L]
Partager