Téléchargement controlé

Utilisateur anonyme - 13 juin 2007 à 22:28
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 - 14 juin 2007 à 15:23
    bonjour à tous, j'aimerai faire en sorte pour télécharger des fichiers sur mon site, que le site vérifi si la personne est loggée (verification de l'existante de $_SESSION['login']; )

Cela marche pour les images car il y a la fonction Imagejpeg or j'aimerai trouver un moyen de reprendre ce genre de système pour des fichiers mpg / avi ou autre.

4 réponses

amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
13 juin 2007 à 22:40
salut,
je crois que c'est avec apache que tu peux faire ce truc
des fichiers .htaccess pour limiter l'access à un répertoire ainsi ce sui est dans ce répertoire

<hr size="2" width="100%" />Au début, on essaye de trouver une solution qui marche, et puis on cherche la meilleure solution.
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
14 juin 2007 à 09:42
Bonjour,

C'est faisable en utilisant header.

Le lien de téléchargement pointe sur un fichier nommé download.php par exemple et dans ce fichier  tu teste la session et tu envoi le fichier à télécherger via un header.

Voici un exemple :

<?php session_start();

if (empty($_SESSION['ta_session']))
    {
      echo "Vous ne pouvez pas télécharger le fichier sans identification !
";
      echo "Merci de bien vouloir vous identifier.
";
    }
    else
   {

      $file="chemin/fichier.mpg";

      $nom_fichier = substr(strrchr($file, "/"), 1);
      header("Content-disposition: attachment; filename=".$nom_fichier);
      header("Content-Type: application/octet-stream");
      header("Content-Transfer-Encoding: binary");

      header("Content-Length: ".filesize($file));
      header("Pragma: no-cache");
      header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
      header("Expires: 0");
      readfile($file);
}
?>

Cordialement.
http://perso.wareteam.com
http://freelance.wareteam.com
0
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
14 juin 2007 à 14:21
salut,
frop01 :avec ta méthode on peut accéder directement au fichier
http://site.com/fichiers/fichier.mp3
et comme ça on peut le télécharger sans à avoir besoin d'étre identifier,
la solution la plus fiable c'est de controler l'access au réperoire via apache.

<hr size="2" width="100%" />Au début, on essaye de trouver une solution qui marche, et puis on cherche la meilleure solution.
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
14 juin 2007 à 15:23
Ce code n'affiche pas le lien direct du fichier à télécharger mais plutot http://site.com/download.php car le fichier est encodé en binaire et attaché au header.

http://perso.wareteam.com
http://freelance.wareteam.com
0