Avatar billede gizp Nybegynder
13. august 2007 - 23:39 Der er 6 kommentarer og
1 løsning

Vise billede fra database på side

Hej Eksperter ;)

Jeg har fået fixet mig en database, hvor jeg kan lægge billeder ind.

De bliver lagt i et BLOB-felt, og jeg kan både hente og læse dem. MEN problemet er at jeg kun kan vise dem på en seperat side.

Jeg vil vise det med funktionen
function image($id) {
  $res = mysql_query("SELECT * FROM images WHERE imagesId = '".$id."'");
  $row = mysql_fetch_array($res);
   
  header("Content-type: ".$row['imagesType']);
  return stripslashes(base64_decode($row['imagesData']));
}

Men header'en gør at alt indhold på siden bliver læst som et billede. Er ikke lige så meget inde i de der headers. Men kan man sige at header'en kun skal kalde for det ene der er i funktionen?
Avatar billede thesurfer Nybegynder
14. august 2007 - 00:18 #1
Prøv med noget i stil med:

<img src="billede.php?id=123">

og din billede.php fil:

<?php

function image($id) {
  $res = mysql_query("SELECT * FROM images WHERE imagesId = '".$id."'");
  $row = mysql_fetch_array($res);
   
  header("Content-type: ".$row['imagesType']);
  return stripslashes(base64_decode($row['imagesData']));
}

$id = $_GET['id'];
// udskriv: image($id)

?>

Jeg er ikke PHP programmør, så jeg ved ikke helt hvordan du udskriver blob'en..

Er det med f.eks. echo image("12"); ?
Avatar billede gizp Nybegynder
14. august 2007 - 00:28 #2
Tja, det virkede da. Synes jeg også jeg havde prøvet. Har nok haft fejl i min kode tidligere :P
Men mange tak, selvom det dog er lidt besværligt at have 2 filer.
Men kom med et svar og du skal få lidt point ;)
Avatar billede thesurfer Nybegynder
14. august 2007 - 00:28 #3
Det siger jo sig selv, at du ikke kan sende f.eks. text/HTML og (f.eks.) image/JPG afsted som header.. så fatter browseren jo ikke noget af det.. :-)
Avatar billede thesurfer Nybegynder
14. august 2007 - 00:29 #4
Svar sendt :-)
Avatar billede gizp Nybegynder
14. august 2007 - 00:30 #5
hehe, har aldrig arbejdet med Header. Kun til sådan noget med viderestilles af et site.
Avatar billede thesurfer Nybegynder
14. august 2007 - 00:32 #6
Filen "billede.php" genbruger du bare..

Det gode/fede ved at have "billede.php" er, at du altid kan ændre kilden til billederne..

Hvis du f.eks. pludseligt vælger ikke at bruge database længere, f.eks. hvis dit webhotel ikke længere understøtter databaser, kan du stadig streame billederne fra en "skjult" mappe..

Med "skjult" mappe mener jeg en mappe, som brugeren ikke ved hvor ligger.. så skal du ikke bekymre dig om at folk linker direkte til dine billeder..

Du kan faktisk i billeder.php lave begræsninger, så man SKAL kalde billede.php?id=5 fra en bestem side, som f.eks. galleri.php..

Hvis man ikke gør det, vises billedet ikke..

Smart, ikke? :-)
Avatar billede thesurfer Nybegynder
14. august 2007 - 00:32 #7
Takker for points :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester