Gå til innhold

Laste opp bilde til MySQL- database ved hjelp av PHP


Anbefalte innlegg

Skrevet

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?

Videoannonse
Annonse
Skrevet

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");

}

Skrevet

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.

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

Skrevet

Jeg lagde dette i et prosjekt på høgskolen for noen år siden, så jeg er litt rusten. Men jeg lurer på om vi ikke satt hva slags MIME-type det var også? Nettopp for å unngå det binær-problemet.

  • 4 uker senere...
Skrevet

Hvordan blir egentlig sql setningen for å legge et bilde inn i et blob felt?

 

liksom i retning "Insert into table set blobfelt='fil.jpg'" ?

Skrevet

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.

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