Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
811 connectés 

  FORUM HardWare.fr
  Programmation

  [PHP] Stocker des images en base ??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Stocker des images en base ??

n°93061
bobdupont
Posté le 24-01-2002 à 17:53:19  profilanswer
 

Je suis en train de coder 1 site avec des catégories et des produits qui ont chacun des images associées.
Je me demandais si c'était 1 bonne solution de stocker les images en base plutot que dans l'arborescence du site.
 
Quels sont les avantages ou inconvénients de cette solution ??
(sachant que la base est mysql)

mood
Publicité
Posté le 24-01-2002 à 17:53:19  profilanswer
 

n°93065
Mara's dad
Yes I can !
Posté le 24-01-2002 à 18:04:34  profilanswer
 

Inconvéniants qui me viennent comme çà :
 

  • Impossible de mettre à jour une image par FTP/SMB.
  • Beaucoup de temps machine perdu pour rien à générer les images à partir de la version stokée en base.


Avantages :
 

  • Apprendre à le faire si on sait pas.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°93072
bobdupont
Posté le 24-01-2002 à 18:12:10  profilanswer
 

Mara's dad a écrit a écrit :

Inconvéniants qui me viennent comme çà :
 

  • Impossible de mettre à jour une image par FTP/SMB.
  • Beaucoup de temps machine perdu pour rien à générer les images à partir de la version stokée en base.

 




 
Le 1, c'est pas 1 problème dans mon cas
Le 2 faut voir.
 
Le gros avantage que je voyais dans cette solution, c'est l'aspect sécurité : pas besoin de répertoire accessible en écriture pour apache.
 
D'autres avis ??

n°93093
Bruce
Music 4 your ears!
Posté le 24-01-2002 à 19:05:37  profilanswer
 

Franchement de quelle sécurité tu parles ? Tu veux protéger une image ? :lol:
 
Allez repettez après moi :
 
"Une base c pas une poubelle, les images à côté et elle sera plus belle !"
 
C pas dur de mettre un cht'i champ texte et l'image à côté ;)


---------------
A+++ Bruce - http://www.bheller.com
n°93111
bobdupont
Posté le 24-01-2002 à 20:23:53  profilanswer
 

Bruce a écrit a écrit :

Franchement de quelle sécurité tu parles ? Tu veux protéger une image ? :lol:




 
Rien à voir c'est pour la sécurité du serveur.
Pour uploader des images sur 1 site, il faut rendre 1 rep accessible en écriture à apache.

n°93120
potiron
...
Posté le 24-01-2002 à 20:40:53  profilanswer
 

franchement pour des images RIEN NE VAUT coldfusion, essaye le, il est tres simple meme pour les debutants et sa prog est fantastique pour les BD gigantesques ..

n°93236
ethernal
Chercheur de vérité...
Posté le 25-01-2002 à 00:24:46  profilanswer
 

potiron a écrit a écrit :

franchement pour des images RIEN NE VAUT coldfusion, essaye le, il est tres simple meme pour les debutants et sa prog est fantastique pour les BD gigantesques ..  




c gratuit ça ?

n°93252
potiron
...
Posté le 25-01-2002 à 01:52:57  profilanswer
 

:heink: ............. :??: ............. :sarcastic: ............. :D

n°93254
Bruce
Music 4 your ears!
Posté le 25-01-2002 à 03:24:53  profilanswer
 

N'importe quoi...
 
On ne met pas d'images dans une BDD c tout ! :D Quel que soit le language de script derrière ! ça change rien !


---------------
A+++ Bruce - http://www.bheller.com
n°93314
Mara's dad
Yes I can !
Posté le 25-01-2002 à 12:07:06  profilanswer
 

Bruce a écrit a écrit :

N'importe quoi...
On ne met pas d'images dans une BDD c tout ! :D Quel que soit le language de script derrière ! ça change rien !  




 
Attention, bruce !
Faut faire gaffe à ce que tu dis. C'est pas parce-que tu ne sais pas faire que ce n'est pas possible !
 
Une images, ce n'est après tout qu'une suite d'octets (Comme n'importe quel INFORMATION digitalisé). Donc tu peux enregistrer cette information dans un champ BLOB.
 
Exemple ici : http://dev.nexen.net/docs/mysql/an [...] ctions.php avec la fonction load_file() qui lit un fichier pour mettre sont contenu dans un champ BLOB!
 
Dans l'autre sens ici :
http://dev.nexen.net/docs/mysql/an [...] SELECT.php
Voir DUMPFILE.
SELECT IMG_BLOB INTO DUMPFILE "/tmp/photo1.jpg" WHERE ID_PHOTO=1;
 
Conclusion, faut faire gaffe avec ses certitudes !
 
PS: Heu désolé,bruce, j'ai mal lu ! :(  
 :( J'ai cru lire que tu disait que c'était pas possible, alors que tu dis juste que c'est pas bien de le faire.
Je laisse mon post tout de même, pour info.

 

[edtdd]--Message édité par Mara's dad--[/edtdd]


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le 25-01-2002 à 12:07:06  profilanswer
 

n°93315
potiron
...
Posté le 25-01-2002 à 12:07:51  profilanswer
 

ah bon ???
 
tu stockes bien du texte pourtant ... et une image c'est quoi ??
ben oui, du texte :D  
coldfusion est prevu pour sauf erreur et faut bien penser que dans certain cas tu peux pas stocker de fichiers donc mettre les images dans une base peut etre tres pratique ...

n°93324
bobdupont
Posté le 25-01-2002 à 12:32:50  profilanswer
 

Bruce a écrit a écrit :

N'importe quoi...
 
On ne met pas d'images dans une BDD c tout ! :D Quel que soit le language de script derrière ! ça change rien !  




 
Mouaip,j'ai déja bossé sur une appli de gestion documentaire ou des .tif et des .pdf etaient stokées ds 1 base oracle.
Donc ça se fait parfois.

n°93325
Bruce
Music 4 your ears!
Posté le 25-01-2002 à 12:53:20  profilanswer
 

Mara's dad : je sais bien que c faisable mais c vraiment pas bien de le faire :)
 
potiron : t'as fini de dire des conneries svp ? Une image c pas du texte, c du binnaire, raté ! Certe tu peut l'encoder en texte (genre Base64) mais bon... Quand au language de script, put'1 mais tu réfléchi avant d'écrire ? On s'en tappe ! Toutes les bases de données savent stocker des données binnaires, et tous les languages de scripts savent les sortirs (see l'exemple php de Mara's dad). Cold fusion as certe quelques fonctions "pré-cablé" comme on dit mais rien de révolutionnaire...
 
bobdupont : oui, il y as des tas de BDD ou il y as des images, mais dans un point de vue de développement Internet (et dans un cas plus général... partout !) il est mieux de ne PAS mettre les images dans la base et d'y placer uniquement le chemin relatif à ces images. Cela accroit énormément les temps de réponses et allège la base...
Si on voulais on pourrais mettre des MP3, voire même des DivX dans une base de donnée mais faut pas le faire ! Je vous laisse penser à tout ça ;)


---------------
A+++ Bruce - http://www.bheller.com
n°93366
potiron
...
Posté le 25-01-2002 à 14:20:06  profilanswer
 

bruce : encore une fois tu parles avant de reflechir -> fait l'inverse tu verras que ca fonctionne mieux  :lol:  
 
coldfusion a toute une partie pour stocker des images+utiliser+... et a ma connaissance c'est le seul qui propose ces fonctionnalités a part les exemples de mara ..
 
et oui, si tu stockes ton image comme du texte et que tu ecris ce texte dans un fichier avec la bonne extension tu retrouves ton image -> tu as jamais eu la curiosité d'ouvrir une image avec un editeur de texte ?
c'est bien pour ca que je dis que c'est que du texte !

n°93428
Bruce
Music 4 your ears!
Posté le 25-01-2002 à 17:29:18  profilanswer
 

potiron a écrit a écrit :

bruce : encore une fois tu parles avant de reflechir -> fait l'inverse tu verras que ca fonctionne mieux  :lol:  
 
coldfusion a toute une partie pour stocker des images+utiliser+... et a ma connaissance c'est le seul qui propose ces fonctionnalités a part les exemples de mara ..
 
et oui, si tu stockes ton image comme du texte et que tu ecris ce texte dans un fichier avec la bonne extension tu retrouves ton image -> tu as jamais eu la curiosité d'ouvrir une image avec un editeur de texte ?
c'est bien pour ca que je dis que c'est que du texte !  




 
 :lol:  :lol:  :lol:  
 
On as un bo winner là ! :D
 
C ça continue d'éditer tes images sous Notepad :D


---------------
A+++ Bruce - http://www.bheller.com
n°93445
Bruce
Music 4 your ears!
Posté le 25-01-2002 à 17:47:20  profilanswer
 

Bon, allez fait un test toi aussi, prend n'importe quel soft de dessins, ok. Crée une image de 50*50 pixels (pas trop gros sinon ça vas être long après :)). Dessine n'importe quoi dessus on s'en tappe.
Sauve cette image en BMP (format non compressé).
Ouvre le notepad, charge y l'image comme tu le dit si bien... Sauve dans un fichier texte avec un autre nom (un .txt ok ;)). Enfin, change l'extension de ton .txt en .bmp et ouvre ton image dans n'importe quel logiciel de dessins. Si il te charge l'image tu m'apelle hein ? :D :hello:  
(PSP me fait le message "This is not a valid BMP/DIB/RLE file"... Et c NORMAL !)
 
(allez si t gentil je t'expliquerais pkoi ça marche pas hein ;)).


---------------
A+++ Bruce - http://www.bheller.com
n°93458
potiron
...
Posté le 25-01-2002 à 18:06:54  profilanswer
 

bruce : .......  :sarcastic:  
 
tu utilises souvent du BMP sur le net pour mettre des images sur ton site ou pour U/L des images a stocker quelque part ou ...  
si c'est oui, dis moi ou est ton site je vais essayer de l'eviter avec ma petite connec sinon  :sleep:  
 
bon de toute facon c'est pas trop la question ici :
les formats auxquels je pensais sont gif et jpg, c'est avec eux que j'ai fait mes test mais je suis presque certain que ce sont pas les seuls ...

n°93460
skylight
Made in France.
Posté le 25-01-2002 à 18:08:03  profilanswer
 

une base mysql c pas une poobelle .. vo mieu créér un rep et y fotre les img ...

n°93461
Bruce
Music 4 your ears!
Posté le 25-01-2002 à 18:09:28  profilanswer
 

potiron a écrit a écrit :

bruce : .......  :sarcastic:  
 
tu utilises souvent du BMP sur le net pour mettre des images sur ton site ou pour U/L des images a stocker quelque part ou ...  
si c'est oui, dis moi ou est ton site je vais essayer de l'eviter avec ma petite connec sinon  :sleep:  
 
bon de toute facon c'est pas trop la question ici :
les formats auxquels je pensais sont gif et jpg, c'est avec eux que j'ai fait mes test mais je suis presque certain que ce sont pas les seuls ...  




 
Ecoute re-fait test test ça ne peut pas marcher ! Tu confond le binnaire et l'ASCII ! Pfff


---------------
A+++ Bruce - http://www.bheller.com
n°93462
potiron
...
Posté le 25-01-2002 à 18:12:13  profilanswer
 

je viens de faire ton test :
 
1-j'ouvre un .bmp dans editplus
2-je le sauve en .txt
3-j'ouvre le .txt et je le sauve en .bmp
4-je le lance et j'ai bien l'image ...  :??:  
 
donc si tu me dis que ca marche pas sur ton PC et que ce n'est pas censé marcher sur le mien je me demande ou est l'erreur ..  :??:

n°93463
Bruce
Music 4 your ears!
Posté le 25-01-2002 à 18:12:45  profilanswer
 

Re-fait exactement le test que je t'ai donné tout à l'heure, que ce soit le PNG, GIF, JPEG ou autre ça marche pas ! Et encore une fois c normal :lol:


---------------
A+++ Bruce - http://www.bheller.com
n°93464
Bruce
Music 4 your ears!
Posté le 25-01-2002 à 18:13:09  profilanswer
 

potiron a écrit a écrit :

je viens de faire ton test :
 
1-j'ouvre un .bmp dans editplus
2-je le sauve en .txt
3-j'ouvre le .txt et je le sauve en .bmp
4-je le lance et j'ai bien l'image ...  :??:  
 
donc si tu me dis que ca marche pas sur ton PC et que ce n'est pas censé marcher sur le mien je me demande ou est l'erreur ..  :??:  




 
 :lol:


---------------
A+++ Bruce - http://www.bheller.com
n°93559
Mara's dad
Yes I can !
Posté le 25-01-2002 à 23:06:29  profilanswer
 

J'allais dire un truc là à propos de ASCCI, texte, binnaire, éditeurs de texte... mais finalement non !
C'est vraiement trop con comme discution.
 
En revanche, pour ce qui est des images dans une base, faut aussi voir le coté pratique de ce qu'on veux faire.
 
Tu ne veux pas mettre tes images dans des fichiers, mais dans une base.
Pourquoi pas, j'ai montré que c'est possible avec MySql.
Cependant, tes images, elle sont bien destinées à être vue sur le net à un moment ou un autre non ?
Et il me semble qu'en HTML, y'a pas tellement d'autre possibilités que de faire un truc du genre :
<IMG SRC="ressource_internet">
où ressource_internet est un fichier (!) pas un champs de base de donné. Donc il faut bien sortir l'image de la base pour la mettre dans un fichier à un moment donné ( comme dans mon exemple ).
Et c'est là que l'intérès de la BDD pour stocker des images disparait.
Dans ce cardre d'utilisation bien sûr ! Faut pas généraliser.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°93861
bobdupont
Posté le 27-01-2002 à 13:37:57  profilanswer
 

Mara's dad a écrit a écrit :

J'allais dire un truc là à propos de ASCCI, texte, binnaire, éditeurs de texte... mais finalement non !
C'est vraiement trop con comme discution.
 
En revanche, pour ce qui est des images dans une base, faut aussi voir le coté pratique de ce qu'on veux faire.
 
Tu ne veux pas mettre tes images dans des fichiers, mais dans une base.
Pourquoi pas, j'ai montré que c'est possible avec MySql.
Cependant, tes images, elle sont bien destinées à être vue sur le net à un moment ou un autre non ?
Et il me semble qu'en HTML, y'a pas tellement d'autre possibilités que de faire un truc du genre :
<IMG SRC="ressource_internet">
où ressource_internet est un fichier (!) pas un champs de base de donné. Donc il faut bien sortir l'image de la base pour la mettre dans un fichier à un moment donné ( comme dans mon exemple ).
Et c'est là que l'intérès de la BDD pour stocker des images disparait.
Dans ce cardre d'utilisation bien sûr ! Faut pas généraliser.  




 
Ah ouais mais ça c pas 1 pb du tout tu peux faire comme ça :
<IMG SRC="getimage.php?id=15546"> ou getimage.php est un script qui récupère l'image dans la base et l'envoie au navigateur.
 
Ca permet par exemple de vérifier que ton image n'est pas linkée d'un site autre que le tien.

n°93897
Mara's dad
Yes I can !
Posté le 27-01-2002 à 17:31:35  profilanswer
 

bobdupont a écrit a écrit :

 
 
Ah ouais mais ça c pas 1 pb du tout tu peux faire comme ça :
<IMG SRC="getimage.php?id=15546"> ou getimage.php est un script qui récupère l'image dans la base et l'envoie au navigateur.
 
Ca permet par exemple de vérifier que ton image n'est pas linkée d'un site autre que le tien.  




C'est sûr qu'on peut, mais c'est une vraie catastrophe point de vue pref par rapport à sortir le fichier. C'est pour çà que j'ai pas cité cette solution.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PHP] Stocker des images en base ??

 

Sujets relatifs
[SQL/PHP]Comment faire ?base de registre : parametres regionaux
[ PHP ] -- IP vers une variable ?PHP et free
PHP et serveur... comment le configurer?[PHP]Vérifier que ma chaine est de type alphanumérique
[PHP & MySQL]Count ...[C++] Se connecter à une base SQL
[PHP] Reg. Exp. Perl -> je merdouille ..[C++] Base de registre
Plus de sujets relatifs à : [PHP] Stocker des images en base ??


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR