Aller au contenu

Création d'un fichier de téléchargement


dimension-pc

Sujets conseillés

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 :wacko:

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

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

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? :wacko:

Lien vers le commentaire
Partager sur d’autres sites

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

:lol:

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

:lol:

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 :lol:

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 :P

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...