Just nu i M3-nätverket
Jump to content

Ladda upp bild


Schtaan

Recommended Posts

Någon som har någon bra PHP kod eller tips om var jag hittar ett script som används för att användaren ska ladda ner en bild till servern/mysql databasen genom en vanlig filväljare. Ni har sett sånt förr....men hur gör man en sån!

 

[inlägget ändrat 2005-03-26 01:35:55 av TonyR]

Link to comment
Share on other sites

Någon som har någon bra PHP kod eller tips om var jag hittar ett script som används för att användaren ska ladda ner en bild till servern/mysql databasen genom en vanlig filväljare. Ni har sett sånt förr....men hur gör man en sån!

 

Rent HTML-mässigt så använder du ju dig av HTML-tagen <input type="file"> sedan rekommenderar jag dig lite läsning på http://www.php.net/features.file-upload för mer info om hur du fångar filen och vilka fler fält du behöver för att genomföra uppladdningen.

 

Sedan rekommenderas det väl generellt inte att lagra bilder i en SQL-databas utan det är nog nästan alltid bättre att lagra dem som filer och sedan lagra filnamn eller någon annan referens till bildfilen i databasen.

 

 

.dune.

----------------------------------------------

- "I find this a nice feature but it is not according to the documentation.

Or is it a BUG?"

- "Let´s call it an accidental feature. :-)"

 

Link to comment
Share on other sites

>Sedan rekommenderas det väl generellt inte att lagra bilder i en SQL-databas utan

>det är nog nästan alltid bättre att lagra dem som filer och sedan lagra filnamn eller

>någon annan referens till bildfilen i databasen.

 

Här hör jag titt sm tätt lite olika påståenden och själv så är jag kluven. Vad har du för argument för att inte lagra bilddata i en SQL-databas?

 

Link to comment
Share on other sites

Här hör jag titt sm tätt lite olika påståenden och själv så är jag kluven. Vad har du för argument för att inte lagra bilddata i en SQL-databas?

Det jag hört, är att man när man plockar ut datan från SQL-databasen, först måste skriva ner bloben till en temporär fil som sedan skickas till användaren. Finns filen redan färdig på disk så är det ju "bara" att skicka den...

 

Prestandamässigt blir det mao en försämring. Annars vet jag inte. Det är ju också tänkbart att den försämringen är försumbar. Men har man en högtraffikerad sida så kan jag tänka mig att det ödslar rätt mycket onödig databaskraft.

 

 

.dune.

----------------------------------------------

- "I find this a nice feature but it is not according to the documentation.

Or is it a BUG?"

- "Let´s call it an accidental feature. :-)"

 

Link to comment
Share on other sites

Varför skulle man skriva ner den till en temporär fil? rimligtvis så borde man ju bara kunna eka ett mime-huvud t.ex:

 

Content-type: image/png

 

och därefter eka datat direkt från databaskopplingen så istället för att spara ner blobben i en variabel så kör man en echo på hämtningen.

 

Och eftersom SQL-databaser cachar frågor och svar så bore ju frekvent efterfrågade objekt (blobbar) bli cachade i ram-minnet vilket i sin tur innebär att ingen diskaktivitet behövs överhuvudtaget för att visa sådana filer.

 

Link to comment
Share on other sites

Främsta argumentet mot det är att det innebär enormt mycket mer last för servern att varje gång en bild ska hämtas, ropa på ett php-script som ska leta fram bilden, hämta den från databas-servern (som inte nödvändigtvis ligger på samma dator) och skicka den till den som bad om bilden. Alternativet är att webbservern skickar det som ligger på disk i en operation, utan att behöva blanda in varesig php eller någon databasmotor, något som webbservern är väldigt jättebäst på att göra.

Webbservern är dessutom jättebra på att avgöra om bilden behöver skickas alls eller om det är samma bild som användaren redan har i sin cache, något du säkert inte vill göra själv.

 

Finns det ingen bra anledning till att ha bilden bakom en SQL-förfrågan har du allt att vinna på att göra en tabell där du lagrar information om bilden och därefter döper bildfilen till det ID som posten fick i tabellen. Då kan du enkelt behålla funktionalitet för att spara beskrivningar, info om vem som laddade upp bilden osv men slippa extrajobbet när någon ber om bilden.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...