Aller au contenu

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


Sujets conseillés

Posté

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.

Posté

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 ;)

Posté

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

Posté

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:

Posté

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 ?

Posté

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

Veuillez vous connecter pour commenter

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



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