Insérer l'image dans la DB ou upload sur serv
Fermé
micropro7
Messages postés
39
Date d'inscription
mercredi 7 janvier 2009
Statut
Membre
Dernière intervention
17 avril 2014
-
10 sept. 2010 à 21:01
fightwithdogma - 10 sept. 2010 à 22:23
fightwithdogma - 10 sept. 2010 à 22:23
A voir également:
- Insérer l'image dans la DB ou upload sur serv
- Insérer une vidéo dans powerpoint - Guide
- Insérer signature word - Guide
- Insérer une image dans word sans bouger le texte - Guide
- Insérer liste déroulante excel - Guide
- Image iso - Guide
3 réponses
dariumis
Messages postés
571
Date d'inscription
mardi 16 mars 2010
Statut
Membre
Dernière intervention
18 avril 2018
63
10 sept. 2010 à 21:19
10 sept. 2010 à 21:19
Salut, oui dans les deux cas ça remplira!! avec MySQL il y a un typage "BLOB" je crois, mais je m'en suis jamais servi, mais je pense que le plus simple est de stocker simplement le nom de l'image dans la BD et de mettre l'image dans un dossier de ton server.
micropro7
Messages postés
39
Date d'inscription
mercredi 7 janvier 2009
Statut
Membre
Dernière intervention
17 avril 2014
10 sept. 2010 à 21:25
10 sept. 2010 à 21:25
Merci pour ta réponse mais en fait je ne cherche pas ce qui est simple à faire. Je sais faire les deux mais lequel occupe plus mon espace?
Tu peux essayer d'encoder ton image en base64, c'est le moins lourd et le plus utilisé. La procédure se fait comme suis en php:
-upload d'abord ton image dans un répertoire temporaire (avec un script évidemment, cherche sur internet des exemples d'upload par formulaire.).
-Il faut bien sûr que le nom de l'image te soit connu. Tu pourras ainsi créer une variable contenant cette image (qui se trouve sur le serveur):
-Php peut maintenant traiter ton image pour la convertir en base64:
-A présent, tu peux transférer $image_base64 vers ta base de données MySQL (ou je sais plus):
-N'oublie pas de retirer ton image brute de ton répertoire temporaire.
-Pour récupérer ton image dans une page à sortie format HTML, il te suffit, dans la src d'une balise <img/>, de mettre la valeur $image_base64 précédée de la chaîne 'data:image/png;base64,'.
Et voilà. C'est pensé sur le tas, c'est très probable que ça marche pas, surtout avec mes compétences. Mais c'est un petit bout de réponse. Une dernière chose, MySQL va être lent à exécuter de telles requêtes à données très grosses, donc évite de mettre des photos, et ne dépasse pas les 100x100: les navigateurs vont aussi se trainer à avaler ton image.
-upload d'abord ton image dans un répertoire temporaire (avec un script évidemment, cherche sur internet des exemples d'upload par formulaire.).
-Il faut bien sûr que le nom de l'image te soit connu. Tu pourras ainsi créer une variable contenant cette image (qui se trouve sur le serveur):
$image_brute = file_get_contents( 'monimage.png' ) ;
-Php peut maintenant traiter ton image pour la convertir en base64:
$image_base64 = chunk_split( base64_encode( $image_brute ) ) ;
-A présent, tu peux transférer $image_base64 vers ta base de données MySQL (ou je sais plus):
mysql_query( 'INSERT INTO matable VALUES ' . $image_base64 );
-N'oublie pas de retirer ton image brute de ton répertoire temporaire.
-Pour récupérer ton image dans une page à sortie format HTML, il te suffit, dans la src d'une balise <img/>, de mettre la valeur $image_base64 précédée de la chaîne 'data:image/png;base64,'.
$sql = mysql_query( 'SELECT image FROM matable WHERE [gnagna]'); $image = mysql_fetch_row( $sql ); $img_src = $image[0];
Et voilà. C'est pensé sur le tas, c'est très probable que ça marche pas, surtout avec mes compétences. Mais c'est un petit bout de réponse. Une dernière chose, MySQL va être lent à exécuter de telles requêtes à données très grosses, donc évite de mettre des photos, et ne dépasse pas les 100x100: les navigateurs vont aussi se trainer à avaler ton image.