dimension-pc Posté 16 Février 2005 Partager Posté 16 Février 2005 Bonjour à tous J'aurais besoin d'aide pour un code php. J'aimerais créer une rubrique de téléchargement, et je souhaiterais utiliser un fichier telechargement.php pour télécharger les fichiers Je m'explique: Imaginons que le lien de mon fichier est: http://www.dimension-pc.com/fichier.rar Alors je voudrais que l'on accède à ce fichier par le lien: http://www.dimension-pc.com/telechargement.php?=fichier.rar Ou un lien de ce genre. Cependant, quel code faudrais t-il mettre dans ce fichier telechargement.php et faudra t-il le modifier à chaque fois que je désire ajouter un fichier (nommé fichier_2.rar) ou est-ce que le lien http://www.dimension-pc.com/telechargement...?=fichier_2.rar marchera tout seul ? Je vous remercie. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Titag Posté 16 Février 2005 Partager Posté 16 Février 2005 Salut, Pour ca il faut utiliser la fonction header() qui permet d'envoyer les entètes nécessaires pour que le navigateur débute le téléchargement. http://fr.php.net/manual/fr/function.header.php pour toutes les explications. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 16 Février 2005 Partager Posté 16 Février 2005 Salut dimension-pc, J'imagine que c'est pour éviter le hot-linking sur les fichiers et permettre au fichier telechargement.php de s'assurer de l'identité de l'internaute. Si le script est bien écrit, tu n'auras rien à changer. Par contre, si tu veux éviter le hot-linking, tu peux mettre un répertoire hors de l'arborescence web et accéder ce répertoire au sein du fichier telechargement.php. J'ai mis cela en place pour l'un des membres du forum qui propose des vidéos entéléchargement et retrouvait les URLs sur d'autres forums. Depuis, plus aucun problème C'est bien plus sûr Lien vers le commentaire Partager sur d’autres sites More sharing options...
dimension-pc Posté 16 Février 2005 Auteur Partager Posté 16 Février 2005 Merci, je vais aller voir le lien que tu m'a donné En espérant que je trouve le bon code (comme Dan l'indique), car c'est effectivement pour éviter les liens sur les autres sites Internet Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 16 Février 2005 Partager Posté 16 Février 2005 Vas voir ce post: http://www.webmaster-hub.com/index.php?sho...indpost&p=64806 Tu y trouveras le fichier se basant sur le toolkit IPBSDK, mais les modifs sont simples à faire Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
dimension-pc Posté 16 Février 2005 Auteur Partager Posté 16 Février 2005 Re, Merci pour ton lien Je suis allé voir ton script, et j'ai essayé de le modifier, car la fonction IPBSDK ne me sert à rien, mais ça ne marche pas. Si on va sur: http://www.dimension-pc.com/telecharger.php Un fichier du même nom que mon dossier est proposé au téléchargement. Mais je n'arrive pas à obtenir le fichier IPB.zip se trouvant dans ce même dossier. Voici le code de mon fichier: <?php$filesdir="/home/c/cedfr/www/test/"; // attention: terminer avec un /$filename = $filesdir.$_GET['file'];$today = date('j-m-y, H:i:s');if (file_exists($filename)) { header("Pragma: No Cache"); header("Content-Type: application/force-download"); $user_agent = strtolower ($_SERVER["HTTP_USER_AGENT"]); if ((is_integer (strpos($user_agent, "msie"))) && (is_integer (strpos($user_agent, "win")))) { header( "Content-Disposition: filename=".basename($filename).";" ); } else { header( "Content-Disposition: attachment; filename=".basename($filename).";" ); } header("Content-Transfer-Encoding: binary"); header("Content-Length: ".filesize($filename)); $logdata = $today." --- ".$filename." --- ".filesize($filename)."\n"; $logfile = $filesdir."transfers.log"; readfile("$filename"); } else { print "<center>Fichier inexistant</center>"; exit; }?> Ais-je fait une erreur quelque part? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 16 Février 2005 Partager Posté 16 Février 2005 Salut, Déjà tu peux enlever ces 2 lignes si tu ne fais pas de logging: $logdata = $today." --- ".$filename." --- ".filesize($filename)."\n";$logfile = $filesdir."transfers.log"; elles ne te servent à rien. Ca ne marche pas? Tu veux dire quoi ? Une erreur ou autre chose ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 16 Février 2005 Partager Posté 16 Février 2005 Il faut donner l'argument file en paramètre.... ton oubli est là http://www.dimension-pc.com/telecharger.php?file=IPB.zip Lien vers le commentaire Partager sur d’autres sites More sharing options...
dimension-pc Posté 16 Février 2005 Auteur Partager Posté 16 Février 2005 Je ne sais vraiment pas quoi dire Tu est un Pro Dan Encore merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 16 Février 2005 Partager Posté 16 Février 2005 Mais en enlevant l'appel à IPBDSK, tu n'as plus d'autentification de l'utilisateur. Cela ne sert donc pas à grand chose, non ? Si c'est pour le site dimension-pc, tu aurais pû télécharger le toolkit IPB et garder l'authentification de l'utilisateur. Lien vers le commentaire Partager sur d’autres sites More sharing options...
dimension-pc Posté 16 Février 2005 Auteur Partager Posté 16 Février 2005 Mais en enlevant l'appel à IPBDSK, tu n'as plus d'autentification de l'utilisateur. Cela ne sert donc pas à grand chose, non ? Si c'est pour le site dimension-pc, tu aurais pû télécharger le toolkit IPB et garder l'authentification de l'utilisateur. <{POST_SNAPBACK}> lol Ce qui te semble inutile ne l'est pas pour tout le monde Pour ma part, je voulais un fichier qui permette d'obtenir à partir d'un lien type telecharger.php?file=xxxx et ça marche grâce à ton script Pour le fichier, c'est pour un site pas encore construit que je créer en local Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant