jrz Skrevet 5. mars 2004 Del Skrevet 5. mars 2004 Det hadde vært koslig om noen vil forklare litt om lagring av bilder i mysql blob, og hvordan man henter de ut igjen da. Jeg har klart å lagre bilder i blob, men jeg har problemer med å hente ut. Hvordan gjør man egentlig det? Lenke til kommentar
???????? Skrevet 5. mars 2004 Del Skrevet 5. mars 2004 http://www.phpbuilder.com/columns/florian19991014.php3 Lenke til kommentar
Akke Skrevet 6. mars 2004 Del Skrevet 6. mars 2004 Om det er lurt er en annen ting, de fleste lagrer kun filnavnet i db og legger filen i en egen mappe på serveren. Dette skal gi bedre ytelse. Lenke til kommentar
???????? Skrevet 6. mars 2004 Del Skrevet 6. mars 2004 Om det er lurt er en annen ting, de fleste lagrer kun filnavnet i db og legger filen i en egen mappe på serveren. Dette skal gi bedre ytelse. Problemet med å legge bilder i MySQL er at selv om du velger et felt som har plass til mage tegn - så er det en sperre i MySQL som er på 16MB som må endres - og det er ikke alle webhoteller som vil endre denne. Så store bilder kan bli et problem. Lenke til kommentar
RottePostei Skrevet 6. mars 2004 Del Skrevet 6. mars 2004 (endret) For å hente ut bildene igjen må lage en egen php-side. La oss si vi kaller den bilde.php. Denne filen sjekker variabelen id som da sier hvilket bilde som skal hentes ut av databasen. I bilde.php henter du blob'en og kan enkelt og greit kjøre en: <?php $db = mysql_connect(bla bla...); mysql_select_db("databasenmin"); $res = mysql_query("SELECT bildeblobben_min FROM tabellen_min WHERE id=" . $_GET['id']); if ($mysqlpost = mysql_fetch_array($res)) { echo $mysqlpost['bildeblobben_min']; } ?> Som HTML-kode der bildet skal vises skriver du: <IMG SRC="bilde.php?id=5"> Edit: For lagring av bildet finnes $_FILES arrayet. Dersom POST-tagen på siden der du kan sende inn bildet heter bilde (<INPUT TYPE=file NAME=bildet_mitt>), så finner du bildet ved bruk av $_FILES['bildet_mitt'] arrayet. Her kan du hente ut temporært filnavn og størrelse vha. $_FILES['bildet_mitt']['size'] of $_FILES['bildet_mitt']['tmp_name'] så da er det bare å lese inn fila og lagre den som en blob Endret 6. mars 2004 av RottePostei Lenke til kommentar
Torbjørn Skrevet 6. mars 2004 Del Skrevet 6. mars 2004 uten at jeg har prøvd det, så vil jeg tro at du trenger en header("Content-type: image/jpeg"); for eksempel? Lenke til kommentar
???????? Skrevet 6. mars 2004 Del Skrevet 6. mars 2004 uten at jeg har prøvd det, så vil jeg tro at du trenger en header("Content-type: image/jpeg"); for eksempel? Helt riktig! Les artikkelen på phpbuilder.com - der står alt forklart. Lenke til kommentar
RottePostei Skrevet 6. mars 2004 Del Skrevet 6. mars 2004 (endret) uten at jeg har prøvd det, så vil jeg tro at du trenger en header("Content-type: image/jpeg"); for eksempel? Funker fint i Opera og IE iallefall Edit: Og Mozilla Endret 6. mars 2004 av RottePostei Lenke til kommentar
???????? Skrevet 6. mars 2004 Del Skrevet 6. mars 2004 uten at jeg har prøvd det, så vil jeg tro at du trenger en header("Content-type: image/jpeg"); for eksempel? Funker fint i Opera og IE iallefall Edit: Og Mozilla Du mener uten å sette header image? Kan du sjekke hvilken header serveren din setter på det bildet (Content-Type)? http://www.delorie.com/web/headers.html Uansett så burde header settes for å passe på at det ikke skjer noen feil ved visning av bilder. Lenke til kommentar
RottePostei Skrevet 7. mars 2004 Del Skrevet 7. mars 2004 Du mener uten å sette header image?Kan du sjekke hvilken header serveren din setter på det bildet (Content-Type)? http://www.delorie.com/web/headers.html Uansett så burde header settes for å passe på at det ikke skjer noen feil ved visning av bilder. Er enig i den. Poenget er at jeg var lat og derfor ikke gjorde det og så funka det allikevel. Skal sjekke hvilke headere den sender. Lenke til kommentar
apachenerd Skrevet 7. mars 2004 Del Skrevet 7. mars 2004 Jeg ble nysgjerrig på dette med bilder i mysql og prøver å lage en søkeside hvor man velger bilde_id og får fram bilde. Form'en ser slik ut: <form action="hentbilde.php" method="POST">bildenr: <input type="hidden" name="hva" value="bildenr"> <select name="sok"> <option value="1" label="1">1</option> <option value="2" label="2">2</option> <option value="2" label="3">3</option> </select><input name="send" value="Search" type="submit"> </form> scriptet ser slik ut: <?php extract($_GET); if(isset($id)) { $db = mysql_connect("localhost","brukernavn","passord"); mysql_select_db ("prosjekt"); MYSQL_CONNECT($mysql_host,$mysql_user,$mysql_pass); mysql_select_db($mysql_db); $query = "select id, bin_data,filetype from tbl_bilde where id = $id"; $result = @MYSQL_QUERY($query); $data = @MYSQL_RESULT($result,0,"bin_data"); $type = @MYSQL_RESULT($result,0,"filetype"); Header("Content-type: $type"); echo $data; }; ?> Hvordan skal jeg få dette scriptet til å hente ut det man velger fra form'en? Lenke til kommentar
Torbjørn Skrevet 7. mars 2004 Del Skrevet 7. mars 2004 (endret) $id = mysql_escape_string($_POST[hva]); ... og pass på at du lagrer rett "filetype" i databasen, dvs pass på at du får ut riktig header, her er noe som ser ut som en rimelig komplett liste: ftp://ftp.isi.edu/in-notes/iana/assignmen...pes/media-types EDIT: her er en link til: http://ppewww.ph.gla.ac.uk/~flavell/www/content-type.html Endret 7. mars 2004 av Torbjørn Lenke til kommentar
pgdx Skrevet 25. mars 2004 Del Skrevet 25. mars 2004 Jeg har fulgt denne tutorialen til punkt og prikke, men jeg får ikke lastet opp noe bilde... Når jeg uploader et bilde, står det at den har fått ID=0, men det får jo alle, og ingen kommer inn i databasen. Noen som vet hva som kan være feil? Lenke til kommentar
LoS Skrevet 26. mars 2004 Del Skrevet 26. mars 2004 (endret) Sett tabellen til "auto_increment" elns, da vil ID autmatisk gå oppover, har du phpmyadmin fikser du det lett. Ser det står i tut'n men det kan jo hende noe feil skjedde elns? Endret 26. mars 2004 av LoS Lenke til kommentar
pgdx Skrevet 26. mars 2004 Del Skrevet 26. mars 2004 Problemet er ikke at den skriver over ID0, men at den ikke skriver noe i det hele tatt. Adressen er riktig, localhost, og det er brukernavn og passord også. Lenke til kommentar
???????? Skrevet 26. mars 2004 Del Skrevet 26. mars 2004 Den artikkelen er mange år gammel og kodene må "oppdateres litt". Ta en kikk i manualen på handeling file upload. 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å