8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

j'aurais besoin de vos conseils : je suis en train de créer un site qui permettra le téléchargement de fichiers achetés (entre autres).

Seul problème : je ne peux pas donner d'URL directe vers le fichier stocké qui vient d'être acheté.

J'ai bien quelques idées, notamment celle qui me semble être la plus mieux bien : copier le fichier temporairement en le renommant, et gérer ça via base de données, genre un lien

www.monsite.com/temp/dl.php?id=4815415475610


Qu'en pensez-vous ?

Mais si vous en avez une mieux ou plus simple, je suis preneur.
Est-ce que c'est possible de faire un renommage à la volée juste pour le download ?

Merci à ceux qui répondront !
Modifié par Nico3333fr (07 Dec 2009 - 11:19)
Ton approche est faisable, grâce à la richesse de la fonction header ().
<?php
header ('Content-type: type MIME du fichier à télécharger');
// Envoi de l'en-tête permettant d'afficher la boîte de dialogue proposant le téléchargement
header ('Content-Disposition: attachment; filename="chemin vers le fichier à télécharger"');
?>

En plus de ces envois d'en-têtes, tu peux afficher une page ordinaire comportant un lien direct vers le fichier en téléchargement (ce qui est mieux, sous peine de donner à montrer une page blanche si l'utilisateur décide d'annuler le téléchargement).
Ah, je n'avais pas pensé au problème de la page blanche, bien vu merci !

Simple question : est-il possible de changer le nom à la volée via la fonction header ? (c'est ce que je pensais utiliser en tout cas)