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 -
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.
Tein saman jutun käyttäen vanhoja readdir, closedir ja opendir -funktioita
(https://www.ohjelmointiputka.net/oppaat/opas.
Voitko antaa esimerkkiä, minkälaisissa tapauksissa tuo glob ei toimi? Eli jokin esimerkkihakemisto/tiedostonimi.
Windows servuilla toi glob bugaa, esim eka merkki pitää joissain tapauksissa olla "/"
jos aikoo saada toimimaan.
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?
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ä.
Ajattelin vain että josko hakemistopolussa olisi jokin tietty merkki tms. vastaavaa josta glob ei tykkäisi.
Ää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.
Aihe on jo aika vanha, joten et voi enää vastata siihen.