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ä.
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.
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.
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.
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.
Niin koita mitä pelkkä //palvelin/xml/xxx/ - palauttaa.
Tämä on kuitenkin aika purkka ratkaisu.
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 :)
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!
Aihe on jo aika vanha, joten et voi enää vastata siihen.