Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Uusimman tiedoston haku toiselta palvelimelta

Sebu [31.05.2013 11:29:24]

#

Elikkäs eräällä sivustolla on hakemisto, jonne lisätään uusi xml - tiedosto n. tunnin välein. Tarkoituksenani olisi luoda php-skripti, jolla hakemistossa oleva uusin tiedosto luettaisiin.

Olen ymmärtänyt, että file_get_contents()-funktiolla saisin tiedoston sisällön luettua, mutta millä saan selville mikä niistä on uusin tiedosto. Tiedostot on nimetty julkaisuajankohdan mukaan tyyliin NIMIyyyykkppttmmssHOMEPAGE.xml. NIMI ja HOMEPAGE ovat kiinteitä.

Lebe80 [31.05.2013 11:37:08]

#

No jos sä voit hallita myös "sitä toista hakemistoa", niin tekisin sinne jonkin oman skriptin, joka listaisi (json/xml yms.) juuri tiedostot vaikka aikajärjestyksessä, jolloin tiedostojen tarkkailu palvelimen ulkopuolelta olisi helpompaa.

Tukki [31.05.2013 11:37:37]

#

Sebu kirjoitti:

mutta millä saan selville mikä niistä on uusin tiedosto.

Et oikein millään ellei sivusto tarjoa siihen jotain keinoja. Usein tuollaiset on toteutettu niin että tuorein tiedosto löytyy aina jollain samalla kiinteällä nimellä. Jos noin ei ole niin ehkä saat haettua sivustolta listauksen kaikista tiedostoista, jolloin voit parsia niistä itse tuon aikaleiman irti ja etsiä sen perusteella uusimman.

Grez [31.05.2013 11:47:30]

#

Sebu kirjoitti:

mutta millä saan selville mikä niistä on uusin tiedosto. Tiedostot on nimetty julkaisuajankohdan mukaan tyyliin NIMIyyyykkppttmmssHOMEPAGE.xml. NIMI ja HOMEPAGE ovat kiinteitä.

No eikö tuosta saa jo ihan nimestä parsittua, milloin se on julkaistu ja siitä sitten vaikka sorttaa niin ensimmäisenä (tai viimeisenä) on uusin. Siis jos nyt oletetaan että saat haettua listan tiedostoista.

qeijo [31.05.2013 14:02:10]

#

Jos ei ole pääsyä toiseen palvelimeen, voit koittaa lukea hakemiston juuresta mahdollisen listaus sivun (esim. Apache index Off /hakemisto).
Siitä parsit sitten tiedostolistan ja uusimman tiedoston nimen.

Eli jos xml löytyy osoitteesta: //palvelin/xml/xxx/NIMIyyyykkppttmmssHOMEPAGE.xml
Niin koita mitä pelkkä //palvelin/xml/xxx/ - palauttaa.

Tämä on kuitenkin aika purkka ratkaisu.

Tukki [31.05.2013 14:08:33]

#

Pitäiskö jonkun vielä kerran ehdottaa että uusimman tidoston voi etsiä hakemistolistauksen perusteella, jos ei vielä tullut selväksi?

Kerronpa tähän huvikseni keinon millä löydät uusimman tiedoston ilman hakemistolistaustakin (en tosin suosittele käyttämään tätä). Muodostat tiedostonnimen nykyisen aikaleiman perusteella ja kokeilet löytyykö sillä nimellä tiedostoa. Jos ei löydy, vähennät ajasta sekunnin ja kokeilet uudelleen. Tätä jatkat sitten kunnes tiedosto löytyy :)

Sebu [01.06.2013 11:21:25]

#

Joo, mulla ei ole hallintaoikeuksia tuonne hakemistoon, joten sen takia tässä koitetaan kikkailla jotain.

Eli yhtään järkevää ratkaisua ei taida löytyä. Tuolla Tukin kuvaamalla tavalla homma kuitenkin hoituisi.

Kiitokset kaikille vastauksista!

Vastaus

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

Tietoa sivustosta