Equerm Skrevet 17. oktober 2006 Del Skrevet 17. oktober 2006 Hei, jeg har noen spørsmål angående lagring av bilder i databaser, jeg vet man kan lagre bildefiler i en MySQL tabell om man bruker longblob, men hvordan henter man ut bildet igjen? Lenke til kommentar
endrebjo Skrevet 17. oktober 2006 Del Skrevet 17. oktober 2006 (endret) PHP <?php header('Content-Type: image/jpeg'); $mysql_link = mysql_connect('', '', ''); $mysql_db = mysql_select_db(''); $get_pic = mysql_query('SELECT * FROM bildetabell WHERE blabla LIMIT 1'); $pic = mysql_fetch_assoc($get_pic) echo $pic['bildekode']; // ANTAR AT longblob-KOLONNEN HETER bildekode ?> Antar at det fungerer. Du kan bare printe ett bilde pr. fil da. Endret 17. oktober 2006 av endrebjorsvik Lenke til kommentar
Peter Skrevet 17. oktober 2006 Del Skrevet 17. oktober 2006 Du burde ikke lagre selve bildet i databasen, bare lagre info om bildet der! Lenke til kommentar
Equerm Skrevet 17. oktober 2006 Forfatter Del Skrevet 17. oktober 2006 (endret) Du burde ikke lagre selve bildet i databasen, bare lagre info om bildet der! 7088507[/snapback] endrebjorsvik: Jeg tenkte å hente ut kanskje 200 bilder med 1 stk fil da Å ta 1 bilde pr fil er ganske tungvindt Ja det har jeg hørt snakk om, men hvorfor egentlig? Dessuten så tenkte jeg å lage et bildegalleri men om jeg har infoen om bildet i en database, og selve bildefilene i en mappe, hvordan vet jeg hvilken info som skal hvor? Lagre navnet på bildefilen i databasen så matcher jeg dem etterpå? Endret 17. oktober 2006 av Equerm Lenke til kommentar
Peter Skrevet 17. oktober 2006 Del Skrevet 17. oktober 2006 Evt. hele pathen til bildet. På den måten unngår du kollisjoner ettersom filsystemet selv setter en stopper for to bilder med samme navn. En av ulempene med å lagre bilder i databasen er at du først må hente informasjonen ut av databasen, for deretter å sende den. Istedenfor å bare sende rett fra filsystemet. Sistenevnte krever en bufring mindre enn førstenevnte, og ved store bildefiler kan dette utgjøre stor forskjell i ytelse. Lenke til kommentar
endrebjo Skrevet 17. oktober 2006 Del Skrevet 17. oktober 2006 (endret) endrebjorsvik: Jeg tenkte å hente ut kanskje 200 bilder med 1 stk fil da Å ta 1 bilde pr fil er ganske tungvindt 7088599[/snapback] Derfor er det tungvindt å legge bilder i en database. Men det kan løses f.eks slik: PHP <?php // KOBLE TIL DATABASE bla bla $get_pics = mysql_query('SELECT id FROM bildetabell'); while ($pics = mysql_fetch_assoc($get_pics)) { echo "<img src='bilde.php?id={$pics['id']} alt='bilde{$pics['id']}'>\n"; } ?> Også modifisere den forrige koden litt og lagre det som en egen fil kalt bilde.php: PHP <?php header('Content-Type: image/jpeg'); $mysql_link = mysql_connect('', '', ''); $mysql_db = mysql_select_db(''); $pic_id = $_GET['id']; $get_pic = mysql_query("SELECT * FROM bildetabell WHERE id = {$pic_id}"); $pic = mysql_fetch_assoc($get_pic) echo $pic['bildekode']; // ANTAR AT longblob-KOLONNEN HETER bildekode ?> Endret 17. oktober 2006 av endrebjorsvik Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå