Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: glob-funktio palauttaa tyhjän taulukon (PHP)

Sivun loppuun

EterAnal [09.07.2006 19:06:59]

#

Seuraavanlainen ongelma koskien koodinpätkää:

/*hakee kuvien nimet zzzz-kansion alta ja tulostaa ne sekä tekee niihin linkit*/
$photoname = glob("../image/orig/yyyy/zzzz/*.*");

Tuossa yyyy-tarkoittaa vuosilukua ja zzzz-alikansion nimeä. Nyt kun tuon hakemistopolun ja jonkin zzzz-alikansiossa sijaitsevan tiedostonimen yhteispituus kasvaa suurinpiirtein 180 merkin paikkeille niin tuo glob-funktion palauttama taulu on tyhjä. Mistäs mahtaa johtua ja miten ongelman saisi ratkaistua? Onko ainut keino antaa tiedostoille lyhyempiä nimiä?

- Jari -

EterAnal [10.07.2006 15:29:22]

#

Moro,

Onko tosi ettei kukaan kuvagallerian tekijä ole törmännyt moiseen ongelmaan? Heh... viimeistään siinä vaiheessa pitäisi alkaa ihmetyttämään kun lisää galleriaan kuvan, jonka tiedostonimi on vähän liian pitkä niin mikään kuva ei näy.

EterAnal [10.07.2006 18:08:18]

#

Tein saman jutun käyttäen vanhoja readdir, closedir ja opendir -funktioita
(https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=phpj5) ja nyt toimii hyvin. Onko tuossa glob-funktiossa jokin bugi? Tuollaisenaan ihmettelen, miksei kellään ole vielä alkanut tilttailemaan koodi. Luulisi, että nykyään tuo 160 merkin hakemistopituus ei riitä lähellekään kaikissa tapauksissa.

Olga [10.07.2006 19:42:39]

#

Voitko antaa esimerkkiä, minkälaisissa tapauksissa tuo glob ei toimi? Eli jokin esimerkkihakemisto/tiedostonimi.

T.M. [10.07.2006 19:51:37]

#

Windows servuilla toi glob bugaa, esim eka merkki pitää joissain tapauksissa olla "/" jos aikoo saada toimimaan.

Lebe80 [10.07.2006 23:42:32]

#

EterAnal kirjoitti:

Luulisi, että nykyään tuo 160 merkin hakemistopituus ei riitä lähellekään kaikissa tapauksissa.

No ei varmaankaan kaikissa, mutta jopa kahdeksalla merkilläkin selviydytään erittäin usein.

Mietinkin että minkälaista sivustoa olet kyhäämässä, ettei 160 merkkiä riitä? Eikö kannattaisi ottaa tietokanta avuksi, jolloin hakemiston nimenä ei tarvitsisi käyttää mitään romaania?

EterAnal [12.07.2006 15:16:43]

#

Olga kirjoitti:

Voitko antaa esimerkkiä, minkälaisissa tapauksissa tuo glob ei toimi? Eli jokin esimerkkihakemisto/tiedostonimi.

No ei tuossa sen kummempaa esimerkkiä tarvita. Yrität vain lukea tuolla glob-funktiolla tiedostoa, jonka hakemistopolun pituus nousee 180 merkin paikkeille niin glob-funktio sekoaa ja palauttaa tyhjän taulun. Tämä tapahtuu Linux-serverillä, joten Windows-bugista ei ole kysymys.

Teen kuvagalleriaa, jossa jokaiselle kuvasivulle tehdään sama nimi kuin kuvakansion nimenä on ja kuvan nimi toimii kuvan kuvauksena, joten kuvien pistäminen nettiin on todella vaivatonta. Tarvitsee vain kopioida kuvakansio palvelimelle ja se on siinä.

Olga [12.07.2006 19:02:21]

#

Ajattelin vain että josko hakemistopolussa olisi jokin tietty merkki tms. vastaavaa josta glob ei tykkäisi.

EterAnal [13.07.2006 14:05:23]

#

Ääkkösiä ei ole, mutta välilyöntejä on. Tosin nämä välilyönnit ei haittaa mitään kun merkkejä on vähemmän kuin tämä 180. Muuten nimet on ihan tavallisia isoja ja pieniä kirjaimia.


Sivun alkuun

Vastaus

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

Tietoa sivustosta