Gå til innhold

Laste opp bilde til MySQL- database ved hjelp av PHP


Anbefalte innlegg

Skal lage et skjema hvor det skal være mulig å laste opp tekst og bilder til en MySQL-database.

 

Tekstfeltene er greie, men hva med bildet? Holder det å lage en "fil"-boks (med en "browse"-knapp) for disse og så bare sende til databasen ved hjelp av en SQL-setning? Eller er det noe spesielt man må tenke på siden det er et bilde som skal legges inn?

Lenke til kommentar
Videoannonse
Annonse

Du kan ikke legge legge selve bildet i mysl databasen din, men en lik til bildet som blir uploadet til serveren, går greit.

 

Bildeupload form:


<form enctype="multipart/form-data" method="post">

Upload image:

<input type="hidden" name="MAX_FILE_SIZE" value="500000">

<input name="bilde" type="file">

<input type="submit" name="do" value="Upload">

</form>



if(isset($_POST['do'])) { 

$mv = move_uploaded_file($bilde, $upload_dir.$file_name) 

 or die("Error uploading file");

}

Lenke til kommentar

Feil... Du kan godt legge bildene i databasen. Bruk BLOB eller LONGBLOB som type på feltet som skal inneholde bildet.

 

Du kan hente bildet ved hjelp av $_FILE arrayet... Se phpmanualen.

 

Så gjør du som du selv sier, kjører en spørring mot databasen.

Lenke til kommentar
Christt har rett, man kan lagre bildet rett inn i databasen.

 

Det er helt sant at han har rett, men om det er lurt er en annen sak. Jeg lagde en gang noe sånt som dette, problemet var at enkelte browsere hadde problemer med å skjønne at enkelte bilder var bilder, så det innimellom de fine bildene mine kom det binærkoder. Har sett samme problemet andre steder også.

 

Det greieste, letteste og kjappeste er å bare ha filnavnet/urlen i databasen.

Lenke til kommentar
  • 4 uker senere...

Det blir vel noe i denne retningen:

 


$sql = "INSERT into tabellnavn VALUES (NULL,'$bilde');";

 

$bilde er da hentet fra denne : <input name="bilde" type="file"> og skal legges inn i en tabell med et ID-felt som er auto_increment og feltet hvor bildet legges inn er et BLOB-felt.

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...