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 :

Upload images dans la base de données ou non?


Sujet :

PHP & Base de données

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2
    Par défaut Upload images dans la base de données ou non?
    Bonjour,

    Je dois faire une base de données d'images qui est assez conséquente, plus de 10 000 images avec un poids moyen de 5 mo, cette base ne sera pas figée et devrait augmenter de 800 images par mois.

    J'ai donc l'intention de créer une table 'images' qui comporterait différents champs :
    - ID
    - Titre
    - ............

    Cette table sera remplie grâce à un formulaire d'upload qui lui enverra les informations.

    Je souhaite ensuite afficher sur différentes page la liste de toutes ces images (uniquement le titre), dans le but d'afficher les images dans une nouvelle fenêtre lorsque l'on clique sur les titres.

    Ma question est : Dois-je stocker mes images directement dans la base (compte tenu de la taille et du nombre de fichier j'ai un doute ?)

    Ou dois je les stocker dans des répertoires sur le serveur ? je voudrais que les images s'affichent sans dévoiler leurs emplacements du type (www.monsite.com/images/123.jpg) mais que les liens indiquent juste id=123

    En stockant les images dans la base cela me parait simple mais si je dois stocker les images dans un dossier je ne vois pas du tout.

    Merci à vous

    Bon Week-end

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Bonjour,

    Vu le nombre d'images : stokes les dans un repertoire.

    dans ta BDD tu crées un champ id, titre et path (le chemin de l'image)

    Pour ce qui est de l'URL : URL REWRITING

    Un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Options +FollowSymlinks
    RewriteEngine on
     
    # lien vers l'image
    RewriteRule ^([0-9]*),voir-image$ ton_script_pour_afficher_image.php?imageid=$1 [L]
    Pour une url du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="23,voir-image">Voir l'image N° 23</a>

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Par défaut
    Moi aussi j'ai la meme idée mais je voudrais savoir comment redimensionner les images lors de mon upload et les stocké dans le répertoire

  4. #4
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Code DocPHP : Sélectionner tout - Visualiser dans une fenêtre à part
    imagecopyresampled ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h )

  5. #5
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2
    Par défaut
    Salut N1bus merci pour ta réponse,

    J'ai donc créer la table suivante :

    CREATE TABLE IMAGES (
    'img_ID' INT NOT NULL AUTO_INCREMENT,
    'img_titre' VARCHAR (30) NOT NULL,
    'img_service' VARCHAR (3) NOT NULL,
    'img_coef' NUMBER (3) NOT NULL,
    'img_adr' VARCHAR 30) NOT NULL,
    'img_cat' NUMBER (2) NOT NULL,
    PRIMARY KEY ('img_ID')
    )
    Je voulais savoir en stockant les Images dans un répertoire sur le serveur, je dois pour chaque image entrer son adresse (via le formulaire d'upload) dans le champ que j'ai nommé 'img_adr' ???

    Autre chose encore , une fois que la base de données sera remplie je souhaite donc afficher la liste des ces images sous forme de liens sur des pages web. Les images seront triées par catégorie la requête pour les afficher sera la suivante

    SELECT img_titre
    FROM IMAGES
    WHERE img_cat = 1 ;
    pour la catégorie 1 (j'ai 30 catégorie en tout).

    Je voulais savoir comment afficher la liste des images sous forme de liens ? (on clique sur le titre et l'image s'ouvre dans une nouvelle fenêtre)

    Merci pour votre aider.

    Bonne soirée

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Par défaut
    je crois que tu aura besoin d'une boucle pour qu'il taffiche automatiquement tous les liens mais je ne sais pas trop comment m'y prendre

  7. #7
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Si tu enregistres le chemin complet de l'image dans la bdd, tu n'auras qu'a afficher ce chemin pour afficher les liens :

    un exemple succint :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    $sql = "SELECT img_titre, img_adr FROM IMAGES ORDER BY img_titre ASC";
    $result = mysql_query($sql);
    $nb = mysql_num_rows($result);
     
    if($nb != 0){
     
    $i = 0;
     
    while($i < $nb){
     
    $image_titre[$i] = stripslashes(mysql_result($result, $i, "img_titre"));
    $image_file[$i]  = mysql_result($result, $i, "img_adr");
     
    echo "<a href='" . $image_file[$i] . "'>$image_titre[$i]</a> <br />";
     
    $i++; }
    }

Discussions similaires

  1. intégrer un fichier image dans une base de donnée?
    Par Lody dans le forum Requêtes
    Réponses: 9
    Dernier message: 16/03/2006, 19h08
  2. [VBA - ACCESS] - Images dans une base de données
    Par fredhali2000 dans le forum Access
    Réponses: 1
    Dernier message: 22/02/2006, 10h22
  3. Comment stocker des images dans une base de données ?
    Par [Silk] dans le forum Bases de données
    Réponses: 4
    Dernier message: 21/07/2005, 11h29
  4. inserer des images dans une base de données
    Par alilou04 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/06/2004, 18h54
  5. les images dans une base de données
    Par houhou dans le forum Bases de données
    Réponses: 8
    Dernier message: 22/06/2004, 14h27

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