Gå til innhold

Spm angående lagring av bilder i database


Anbefalte innlegg

Videoannonse
Annonse

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 av endrebjorsvik
Lenke til kommentar
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å? :hmm:

Endret av Equerm
Lenke til kommentar

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
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 av endrebjorsvik
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...