Mettre une image dans un blob (MySQL) pour ensuite l'afficher ??

Mettre une image dans un blob (MySQL) pour ensuite l'afficher ?? - PHP - Programmation

Marsh Posté le 12-04-2003 à 22:11:43    

          Bonsoir,
 
    J'aimerais savoir si je peut mettre une image dans un champ blob d'une de mes tables pour ensuite l'afficher sur le site ???
 
    Je m'explique :
 
    Je suis entrain de faire une partie petites annonces sur un site et j'aimerais stocker une image / photo concernant l'annonce dans la BDD, il me semble plus simple de stocké l'image dans la BDD plutôt que dans un répertoire quelconque dans un souci de propreté d'architecture.
 
   Le l'ai déjà fait en C++ mais je ne sait pas si le PPH offre cette oportunité, pouvez vous me renseigner ???


---------------
La raison du plus fort est toujours la plus forte.... Parce que c'est comme ça NA !
Reply

Marsh Posté le 12-04-2003 à 22:11:43   

Reply

Marsh Posté le 12-04-2003 à 22:21:42    

:bounce:  :bounce:  
 
remonte petit post !


---------------
La raison du plus fort est toujours la plus forte.... Parce que c'est comme ça NA !
Reply

Marsh Posté le 12-04-2003 à 22:26:57    

Alors ????
 
Personne ????
 
 
Allez  [:koa]  siouplé...


---------------
La raison du plus fort est toujours la plus forte.... Parce que c'est comme ça NA !
Reply

Marsh Posté le 12-04-2003 à 22:44:44    

SnipiX a écrit :

          Bonsoir,
 
    J'aimerais savoir si je peut mettre une image dans un champ blob d'une de mes tables pour ensuite l'afficher sur le site ???
 
    Je m'explique :
 
    Je suis entrain de faire une partie petites annonces sur un site et j'aimerais stocker une image / photo concernant l'annonce dans la BDD, il me semble plus simple de stocké l'image dans la BDD plutôt que dans un répertoire quelconque dans un souci de propreté d'architecture.
 
   Le l'ai déjà fait en C++ mais je ne sait pas si le PPH offre cette oportunité, pouvez vous me renseigner ???
 


 
en PPH c cho mais ptet qu'en PHP c possible  :whistle:

Reply

Marsh Posté le 12-04-2003 à 22:47:21    

Il va y avoir un problème avec certains caractères de l'image. Je sais pas s'il y a l'équivalent en PHP de mysql_real_query() [:figti]

Reply

Marsh Posté le 12-04-2003 à 22:48:54    

  Je vais essayer en PHP mais, comme en PPH c'est plus balaise, je me fait plus plaisir ....  :lol:


---------------
La raison du plus fort est toujours la plus forte.... Parce que c'est comme ça NA !
Reply

Marsh Posté le 12-04-2003 à 22:51:50    

mrBebert a écrit :

Il va y avoir un problème avec certains caractères de l'image. Je sais pas s'il y a l'équivalent en PHP de mysql_real_query() [:figti]  


 
   Le blob ne va pas pouvoir restituer tout les bits de l'image tu veux dire ???
 
  L eprobleme que me pose le plus de souci, c'est je crois la possibilité de recréer une image à partir du blob, là je crois que ca va être chaud...


---------------
La raison du plus fort est toujours la plus forte.... Parce que c'est comme ça NA !
Reply

Marsh Posté le 12-04-2003 à 22:55:04    

SnipiX a écrit :

Le blob ne va pas pouvoir restituer tout les bits de l'image tu veux dire ???
 
  L eprobleme que me pose le plus de souci, c'est je crois la possibilité de recréer une image à partir du blob, là je crois que ca va être chaud...

Le problème, c'est que dans ton image, tu risques d'avoir des caractères '\0'. Je sais pas si ca va pas poser des problèmes [:proy]  
Tu peux essayer, en protégeant le champ avec addslashes().
 
Pour la restitution, pas de problème. Dans le script PHP, tu envoies les headers d'une image, tu lis le champ dans la base et tu envoies l'ensemble. Ca marche bien à partir de fichiers, c'est la même chose venant de la base :)

Reply

Marsh Posté le 12-04-2003 à 23:59:55    

Je te remercie Bebert !!
 
tè le meilleur, ces infos me sont précieuses !!!
 
 
Passe une bonne soirée


---------------
La raison du plus fort est toujours la plus forte.... Parce que c'est comme ça NA !
Reply

Marsh Posté le 13-04-2003 à 00:03:46    

SnipiX a écrit :

Je te remercie Bebert !!
 
tè le meilleur, ces infos me sont précieuses !!!
 
Passe une bonne soirée

oui, je sais :D  
 
Et si tu attends lundi, je peux même te passer le code d'un script qui envoie une image en fonction d'un paramètre passé dans l'URL. Il la lit dans un fichier plutot que dans une base mais le principe est le même :)

Reply

Marsh Posté le 13-04-2003 à 00:03:46   

Reply

Marsh Posté le 13-04-2003 à 00:23:31    

Pas de probleme, de toute fazcon, c'etait juste pour savoir si je pouvais structurer ma base comme cela, ceci fait, je peux attendre lundi sans probleme, pas une bonne fin de week-end.
 
@++


---------------
La raison du plus fort est toujours la plus forte.... Parce que c'est comme ça NA !
Reply

Marsh Posté le 13-04-2003 à 00:53:42    

ca serait pas plus simple (et surtout moins couteu pour le SGBD) de stocker le chemin d'acces a l'image :??: ?

Reply

Marsh Posté le 13-04-2003 à 11:54:51    

Si je ctocke le chemin, il va falloir que je gère la destruction de l'image lorsque je supprimerai la petitez annonce, au niveau espace disque, que l'iamge soit dans la base ou sur le disque ca reviens au meme, alors pourquoi pas ??


---------------
La raison du plus fort est toujours la plus forte.... Parce que c'est comme ça NA !
Reply

Marsh Posté le 15-04-2003 à 00:23:30    

Voilà comment j'ai fait. J'ai stocké les photos dans un répertoire images, et à l'upload du fichier, je renomme celui-ci selon son id, puis un numéro, selon le nombre de photo que tu permets. par exemple, pour l'id de l'annonce 34, tu as :  
 
34-1.jpg
34-2.jpg
 
voici un bout de code qui pourra t'aider je l'espère  
 

Code :
  1. for ($i = 1; $i <= $nbPhotos; $i++)
  2.   {
  3.   $a = "photo".$i."_name" ;
  4.   $b = "photo".$i ;
  5.  
  6.       if ($$a)
  7.         {
  8.       $repository="../photos/";
  9.   $extension=substr($$a,strrpos($$a,"." ));
  10.    $concat = $last."-".$i.$extension ;
  11.   $concat = strtolower($concat) ;
  12.   copy($$b, $repository . $concat);
  13.   }
  14.       }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed