Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Kuvien hakemistorakenne palvelimella

Tinqe [31.01.2007 00:39:37]

#

Olen tässä pohtinut sivujen järkevää (tai "järkevää") toteutusta ja mieleeni juolahti kuvien tallentaminen palvelimelle. Eli pistäisinkö kaikki kuvat yhteen hakemistoon, tiedostonimenä esim. Kuva-ID.jpg ja tietokannassa sitten tieto siitä mikä kuva käy mihinkin tarkoitukseen (uutiskuvat, staattiset sivut yms.) Toinen vaihtoehto on eri hakemistot eri käyttötarkoituksen mukaisesti. Tällöin yhteen hakemistoon ei tulisi niin paljoa tiedostoja, sillä ajan myötä sivustolle saattaa kertyä kuvia aika moinen kasa. Tietenkin silloin pitäisi jollain järkevällä hakemistorakenteella löytää nuo kuvat helposti.

Koko homman pohjana on oman sisällönhallintajärjestelmän toteuttaminen ja tuon ylläolevan tekstisekamelskan pääasiallinen tarkoitus on kysyä: montako kuvaa yhteen hakemistoon on järkevää laittaa?

Eri kuvien eri käyttötarkoituksetkin pitää huomioida. Uutiset, normaalit asiasivut vai kuvagalleria? Kuvien määrä noissa saattaa olla hyvinkin erisuuruinen.

Hakemistojen luontiin SafeModen alaisella palvelimella olen joskus miettinyt ratkaisua, nyt se kuitenkin ilmestyi kuin tyhjästä: PHP:n FTP-funktiot. Testasin jo hakemiston luomisen, mutta onko tuo hyvä idea? Pitää jossain välissä testailla tuota salattua yhteyttä.

ajv [31.01.2007 08:05:14]

#

Itellä on splättisjoukkueen sivuilla galleriakuvat omassa hakemistossaan, käyttäjien profiili ym. kuvat omassa ja kaikki loput omassa hakemistossaan. Eli tuo hakemistorakenne on luotu käyttötarkoituksen mukaan:

- Galleria erikseen, nimeämiskäytäntö galleriassa omanlainen.
- Sisällönhallintaan liittyvät kuvat erikseen, omanlainen nimeämikäytäntö
- Käyttäjien avataret ym. omassa, taas omanlainen nimeämissääntö + tästä hakemistosta käyttäjät saavat poistaa kuvia.

Sitä en tiedä kuinka monta tiedostoa yhteen hakemistoon voi tunkea, en kuvittelisi siinä mitään rajaa olevan. Tosin sun tiedostoselain/ftp-ohjelma alkanee varmaan jumittaa parin (kymmenen)tuhannen tiedoston jälkeen.

Dynaamista hakemistorakennetta olen välttänyt aina viimeiseen asti, se tuottaa ison kasan harmaita hiuksia, jos sivut joutuu siirtämään palvelimelle, jossa safe_mode on päällä.

Agony [31.01.2007 10:29:58]

#

Jos on selkeä jako, käytä sitä. Turha vaikeuttaa ihmissilmää tunkemalla kaikki kuvat samaan hakemistoon ja luomalla sääntöjä kuten "kun kuvan tavuviivan jälkeinen id moduloituna kahdeksalla palauttaa nollan, on kuva silloin koirastani Mustista". Dynaaminen hakemistorakenne voi olla ihan ok, esimerkiksi siten että ladattavat kuvat lisätään hakemistoon /uutiskuvat/2007/01/ (ja huomenna ne lisätään /uutiskuvat/2007/02/) mutta kuten yllä mainittiin, muuttuu ylläpito tuskalliseksi heti kun tulee palvelin joka rajoittaa asioita.

Mitä tulee hakemistojen kokoon, niin oman testini mukaan *nix alkaa hidastumaan kun tiedostoja on yli 30 000 (yhden hakemiston juuressa), eli sen suhteen tuskin tulee ongelmia.

Vielä huomiona: kun käytät tietokantaa, tallenna vain kuvan nimi ja käytä sääntöjä hakemiston löytämiseksi (eli esim. luokan 1 kuvat hakemisto on /uutiskuvat, vuonna 2007 ladatut löytyy /2007 alta ja tammikuussa ladatut /01 alta). Jos tulee jossain vaiheessa täysremontti, ei tarvitse ajaa n^2 monimutkaista kyselyä tietokantaan hakemistojen päivittämiseksi, vaan voit yksinkertaisesti muokata luokkaa / funktiota joka määrittelee kuvapolun.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta