Eli mitenköhän onnistuisi (vai onnistuuko ylipäätään?), että tekisin kuvagallerian, jonka kuvat tallennettaisiin binäärisenä MySQL tietokantaan?
Onnistuu.
https://www.php.net/manual/fi/function.mssql-query.php#31688
Ja tuosta MySQL-versio toimii aivan samanlailla:
<?php // storing a file $datastring = file_get_contents("img.jpg"); $data = unpack("H*hex", $datastring); mysql_query("insert into images (name, data) values ('img.jpg', 0x".$data['hex'].")"); // retrieving $result = mysql_query("select data from images where name = 'img.jpg'"); $row = mssql_fetch_assoc($result); header("Content-type: image/jpeg;"); echo $row['data']; ?>
data-kentäksi LONGBLOB
Kiitoksia...
Täytyypi kokeilla kunhan kotiin pääsee...
Mä aattelin että vois joskus laittaa kuvat tietokantaan niin kysyisin että onks kuvien hakeminen tietokannasta nopeempi kuin jostakin kansiosta kuvan hakeminen?
Ei ole nopeempi, mutta ei tietääkseni myöskään hitaampi. Jos jollain parempaa tietoa, niin saa toki kertoa.
Tuosta tiedostojen tallentamisesta kantaan voi olla montaa mieltä. Tuolla hieman keskustelua, joka liippaa asiaa:
http://mureakuha.com/keskustelut/2?2749
Tosin tietokantaahan tuo rasittaa ihan varmasti ja jos ei ole erityisesti mitään syytä laittaa niitä kuvia sinne tietokantaan, niin ne kannattaisi varmaan pitää ihan hakemistoissa vaan.
Toisaalta kuvian hallinnoiminen helpottuu, kun kaikki data on siellä tietokannassa.
Entäpä jos kantaan tallentaa vaan kuvan nimen ja päätteen. Sittenhän ne voi salakavalasti hakea hakemistosta ja mutta kuitenkin tietokannasta.. selkeyttää ainakin jossain tapauksissa.
kivimetalli kirjoitti:
Entäpä jos kantaan tallentaa vaan kuvan nimen ja päätteen. Sittenhän ne voi salakavalasti hakea hakemistosta ja mutta kuitenkin tietokannasta.. selkeyttää ainakin jossain tapauksissa.
No noinhan sitä on periaatteessa käytettykin.
Eli kantaan tallennettu esim. koko URL, mistä kuva löytyy. Tällöin on helppo ylläpitotyökaluilla muuttaa pelkkää polkua. En näe kyllä järkeä tallentaa tiedostonimeä ja päätettä eri kenttiin, vaan tallentaisin koko URL-osoitteen, jolloin kuva löytyy "yhdestä" kentästä (esim. "gfx/users/avatars/theLeetWolfMaster.png").
Tietokanta pysyy pienempänä, mutta esim. backuppien otto on hitaampaa (tiedostoja sijaitsee monessa paikassa).
Ei sinne koko URLia kannata laittaa, nimet vain. Se polku mielummin vaikka jossain muuttujassa. Jos haluu vaihtaa kuvien paikkaa, niin ei tartte koko tietokantaa päivittää ja muutenkin säästää tilaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.