IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Telechargement a partir de ma base de données


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Femme Profil pro
    Etudiant informatique
    Inscrit en
    Mars 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Etudiant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 86
    Points : 41
    Points
    41
    Par défaut Telechargement a partir de ma base de données
    Bonjour;
    Je suis en train de créer un site web. Je dispose d'un menu "Téléchargement" où je veux afficher la liste des document disponibles dans ma base de données en offrant au visiteurs la possibilité de les télécharger. En HTML ça serai:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="monfichier.txt">Télécharger</a>
    Mais c'est une façon statique, j'ai besoin d'avoir le même résultat mais dynamiquement en accédant à ma base de données.
    Qui peut m'aider?
    Merci d'avance

  2. #2
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Tu stockes en base de données le nom de tes fichiers, tu fais une requête sql qui récupères la liste de tes fichiers, tu boucles sur les résultats pour afficher une liste de lien.

  3. #3
    Membre du Club
    Femme Profil pro
    Etudiant informatique
    Inscrit en
    Mars 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Etudiant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 86
    Points : 41
    Points
    41
    Par défaut Telechargement a partir de ma base de données
    Merci bien mais est-ce que là va permettre aux visiteurs de télécharger les documents ?

  4. #4
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Oui.

  5. #5
    Membre du Club
    Femme Profil pro
    beler.fr
    Inscrit en
    Mars 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : beler.fr
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 25
    Points : 43
    Points
    43
    Par défaut mon avis
    Bonjour,

    Pour tes fichiers stockés sur le serveur, n’utilise plus de lien direct vers ceux-ci, les utilisateurs les ouvriront directement du browser (quand c’est possible).

    Pour le PHP, il est plus simple d’utiliser un code similaire à celui-ci-dessous, il est simple et professionnel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    header("Pragma: public");
    header("Expires: 0"); // set expiration time
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
     
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
     
    header("Content-Disposition: attachment; filename=".basename($file_name).";");
     
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".filesize($file_path));
     
    @readfile($file_path);
    Bon courage!
    Mihaela

  6. #6
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Justement, c'est une bonne idée de pouvoir ouvrir le fichier dans le navigateur si celui-ci le permet, ça permet d'avoir une visualisation du fichier avant téléchargement.

  7. #7
    Membre du Club
    Femme Profil pro
    Etudiant informatique
    Inscrit en
    Mars 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Etudiant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 86
    Points : 41
    Points
    41
    Par défaut Telechargement a partir de ma base de données
    Merci bien mais pourquoi ce bout de code ne fonctionne pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $result = mysql_query("SELECT * FROM `db512801884`.`lbms_document` ");
    while ($data = mysql_fetch_array($result)) {
    $var = $data['nom'];
    echo $var;
    echo "<a href='$var' >";
    echo "télécharger </a>";

  8. #8
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Il te faut bien indiquer un chemin absolu (ou relatif) vers ton fichier mais tel quel, cela signifie que ton fichier se situe à la racine de ton site web ce qui m'étonnerait fortement. Il est nécessaire également d'indiquer le nom de fichier avec l'extension de celui-ci.

    Une url absolue serait quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="/chemin/absolue/vers/mon/fichier.txt">Mon fichier</a>

Discussions similaires

  1. Telecharger des fichiers a partir de la base de données
    Par Techys dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 01/10/2013, 16h37
  2. afficher une image à partir d'une base de données access
    Par zidenne dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/11/2005, 11h41
  3. [MySQL] Afficher une photo à partir de la base de données
    Par microcongo dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/09/2005, 17h29
  4. Créer des clés informatiques à partir d'1 base de données??
    Par Flateric dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 11/02/2005, 07h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo