Insérer l'image dans la DB ou upload sur serv
micropro7
Messages postés
46
Statut
Membre
-
fightwithdogma -
fightwithdogma -
Bonjour,
Je voudrais savoir savoir quel méthode utiliser pour mettre des images sur mon site. J'utilise habituellement le transfert des images sur le serveur mais il est aussi possible d'enregistrer l'image en mode binaire dans la base de données et le recréer avec php à l'affichage.
Je voudrais savoir quelle méthode adopté. je me dis si j'enregistre les images dans la base de données elle se remplira assez vite.Et aussi en enregistrant les images sur le serveur, il se remplira également.
Je voudrais savoir savoir quel méthode utiliser pour mettre des images sur mon site. J'utilise habituellement le transfert des images sur le serveur mais il est aussi possible d'enregistrer l'image en mode binaire dans la base de données et le recréer avec php à l'affichage.
Je voudrais savoir quelle méthode adopté. je me dis si j'enregistre les images dans la base de données elle se remplira assez vite.Et aussi en enregistrant les images sur le serveur, il se remplira également.
A voir également:
- Insérer l'image dans la DB ou upload sur serv
- Insérer une vidéo dans powerpoint - Guide
- Insérer une image dans word sans bouger le texte - Guide
- Insérer signature word - Guide
- Insérer liste déroulante excel - Guide
- Comment insérer des points de suite sur word - Guide
3 réponses
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.
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.