c'è un modo per inserire foto (non url, la foto) in una tabella MYSQL fatta con phpmyadmin? e se c'è quando voglio ottenere quella foto e inserirla nella pagina, cosa dovrei fare? :)Posso inserire un'immagine in una tabella DB MYSQL?
risposta
È possibile (utilizzando il tipo BLOB) ma è quasi sempre preferibile archiviare l'immagine nel file system e archiviare semplicemente il percorso dell'immagine nel database.
alcuni motivi per cui la parte superiore della mia testa:
BLOB saranno palloncino la dimensione del database, fare backup e ripristino potenzialmente più difficile (anche se alcuni potrebbero sostenere che essa rende più facile dal momento che è sufficiente eseguire il backup del database anziché del database più un mucchio di file).
La memorizzazione dei dati come BLOB può causare problemi di prestazioni se si dispone di un codice pigro che utilizza
select *
.L'elaborazione delle immagini dal filesystem sarà più veloce di quella che serve dal database e ridurrà il carico sul server db.
Si ottiene una certa flessibilità con la posizione in cui vengono pubblicate le immagini, ad esempio se si desidera spostarle in un CDN in futuro.
Se sarete recuperano l'immagine, spesso, si sarebbe probabilmente meglio a memorizzare in un file e salvare il percorso ad esso, per risparmiare una corsa database sul recupero dell'immagine.
Altrimenti, memorizzare il contenuto del file immagine in una colonna BLOB, quindi stampare <img src="image.php?id=1234" />
nel codice HTML.
image.php
deve cercare l'immagine con ID 1234 nel database, recuperare il contenuto di tale colonna BLOB e stamparlo dopo aver servito l'intestazione HTTP corretta, ad es. header('Content-type: image/gif');
Ma seriamente. Basta salvare il file immagine. È molto meno un dolore, lo prometto.
Quando si tratta di risorse statiche come immagini di sfondo o icone di menu, non ho mai visto nessuno archiviarli nel database. Per contenuti dinamici come le immagini caricate dagli utenti, non è così raro.
Ecco alcuni pro e contro di memorizzazione delle immagini nel database.
Vantaggi:
- E 'tecnicamente non è diverso da altri dati. Solo di più, e in formato binario.
- Le immagini vengono salvate insieme al resto del database.
- Nessun mal di testa di ottenere fuori sincrono (con un percorso nel database che punta a un'immagine inesistente, o le immagini senza riferimenti nel database)
Svantaggi:
- Memorizzazione i singoli file sono esattamente ciò a cui è orientato il file system, quindi molto probabilmente scalerà meglio.
- Più facile per eseguire manualmente il debug/visualizzare le immagini
- Il server Web può servire direttamente le immagini (non è necessario un codice aggiuntivo per caricare il contenuto dal database e servire il tipo mime corretto, ecc.).
Personalmente ho sempre trovato che i vantaggi superano gli svantaggi e sempre le immagini (insieme ai tipi mime) nel database. Non ho mai notato alcun inconveniente o problema di prestazioni, ma d'altra parte non ho mai lavorato su siti web di grandi dimensioni.
questioni connesse e risorse:
- 1. Inserire più valori in una colonna mysql?
- 2. inserire dati da una tabella a un'altra in mysql
- 3. Come INSERIRE IN una tabella mysql in un'altra tabella e impostare il valore di una colonna?
- 4. Inserimento datetime in MySql db
- 5. Impossibile inserire il carattere ♥ nella tabella MySQL
- 6. Come posso inserire molte righe in una tabella MySQL e restituire i nuovi ID?
- 7. Inserire valori esadecimali in MySql
- 8. Perché non posso inserire in MySQL?
- 9. MySQL Inserire caratteri speciali
- 10. Inserire dati da un'altra tabella con un loop in mysql
- 11. Come inserire la data corrente nel DB MySQL utilizzando Java
- 12. Inserire i file `tsv` in postgresql db
- 13. DB multi-tenant: perché inserire una colonna TenantID in ogni tabella?
- 14. Come posso creare una tabella in MySQL chiamata "ordine"?
- 15. Come inserire dati csv in db postgresql (db remoto)
- 16. MySQL MySQL: inserire più righe in una query
- 17. Come programmare un trigger MySQL per inserire una riga in un'altra tabella?
- 18. Inserire Backbone.js in database MySQL
- 19. Inserire più righe con una query MySQL
- 20. Inserire valori distinti da una tabella in un'altra tabella
- 21. Inserire i dati nella tabella MySQL dallo script Python
- 22. MySQL Come si INSERIRE IN una tabella con una subquery SELECT che restituisce più righe?
- 23. Scrittura del frame di dati nella tabella DB MySql
- 24. Come gestire una grande tabella in MySQL?
- 25. Come posso inserire un oggetto json in una tabella sqlite in javascript, phonegap (cordova)
- 26. Come posso inserire dati in una tabella SQL utilizzando C# e implementare una funzione di caricamento?
- 27. Mysql Inserire lento
- 28. Ottenere il valore massimo di una colonna in MySQL DB
- 29. Aggiornamento di una grande tabella MySQL
- 30. In Oracle, è possibile "inserire" una colonna in una tabella?
uso tipo BLOB, si inserire l'immagine come 0 e 1 di – Karthik
e assicurarsi di salvare (e rispondi) con mime-tipi appropriati corrispondenti a quelli degli 0 e degli 1 ... – aioobe