miten voin tallentaa tiedostoja niin että ensimmäisen nimi on 1.txt toinen 2.txt kolmas 3.txt neljäskymmenestoinen 42.txt ja niin edelleen? kiitos vastauksista!
tiedoston nimeäminen juoksevana lukuna
4
353
Vastaukset
- Jaska Perusjaska
Ihan tuo onnistuu perus-toistorakenteita käyttämällä. Yksinkertaisimmillaan for-looppi joka tallentaa jokaisella kierroksella uuden tiedoston laskurin arvon mukaan.
Tuollaisella luupilla ei tosin tee juurikaan mitään. Taitaisi vain kaataa selaimet ja palvelimet...
Haluat varmaan ensin aina tarkistaa, mikä numero on viimeisin ja tallentaa uuden tiedoston lisäämällä arvoon yhden? Katsopa noita viestiketjuja vähän matkaan taaksepäin. Siellä oli muistaakseni vastaava kysymys vastauksineen.- ...
"Haluat varmaan ensin aina tarkistaa, mikä numero on viimeisin ja tallentaa uuden tiedoston lisäämällä arvoon yhden? Katsopa noita viestiketjuja vähän matkaan taaksepäin. Siellä oli muistaakseni vastaava kysymys vastauksineen."
Mutta onko tuo PHP:llä lainkaan mahdollista? Mitä tapahtuu jos kaksi vierailijaa tulee samalla hetkellä?
Esim. viimeisin tiedosto on tiedosto55.txt. PHP1 on instanssi joka palvelee käyttäjää 1, PHP2 on käyttäjää2. PHP1 etsii viimeisen tiedoston, samaan aikaan PHP2 tekee saman. Molemmat löytävät tiedosto55.txt, joten molemmat luovat tiedosto56.txt... Parhaimmassa tapauksessa toisen käyttäjän tiedosto siis häviää kokonaan. - Jaska Perusjaska
... kirjoitti:
"Haluat varmaan ensin aina tarkistaa, mikä numero on viimeisin ja tallentaa uuden tiedoston lisäämällä arvoon yhden? Katsopa noita viestiketjuja vähän matkaan taaksepäin. Siellä oli muistaakseni vastaava kysymys vastauksineen."
Mutta onko tuo PHP:llä lainkaan mahdollista? Mitä tapahtuu jos kaksi vierailijaa tulee samalla hetkellä?
Esim. viimeisin tiedosto on tiedosto55.txt. PHP1 on instanssi joka palvelee käyttäjää 1, PHP2 on käyttäjää2. PHP1 etsii viimeisen tiedoston, samaan aikaan PHP2 tekee saman. Molemmat löytävät tiedosto55.txt, joten molemmat luovat tiedosto56.txt... Parhaimmassa tapauksessa toisen käyttäjän tiedosto siis häviää kokonaan.Tiedostot ovat vähän hankalia juurikin tuosta syystä. Tietokanta on hieman varmempi tapa.
Tiedoston ainakin voi lukita scriptin ajon ajaksi. En tiedä mitä tapahtuu jos kaksi käyttäjää yrittää lukita tiedostoa täsmälleen samaan aikaan millisekunnin tarkkuudella. Luultavasti molemmat epäonnistuu ja tulee virheilmoitus. Mutta kyllä tuo ainakin vähentää ongelman mahdollisuutta.
Hyvin epätodennäköistähän tuo on, mutta jos käyttäjiä on paljon samaan aikaan, niin riski on toki olemassa.
Minulla on hyvin vähän (ts. ollenkaan) kokemusta tuollaisten julkisten megapalveluiden tekemisestä, joten en tämän parempia vinkkejä osaa antaa. Tähän mennessä kaikki ovat toimineet jopa ilman tiedostojen lukitsemistakin. Sen vain tiedän, että ruuhkat aiheuttavat monesti arvaamattomia ongelmia. - ...
Jaska Perusjaska kirjoitti:
Tiedostot ovat vähän hankalia juurikin tuosta syystä. Tietokanta on hieman varmempi tapa.
Tiedoston ainakin voi lukita scriptin ajon ajaksi. En tiedä mitä tapahtuu jos kaksi käyttäjää yrittää lukita tiedostoa täsmälleen samaan aikaan millisekunnin tarkkuudella. Luultavasti molemmat epäonnistuu ja tulee virheilmoitus. Mutta kyllä tuo ainakin vähentää ongelman mahdollisuutta.
Hyvin epätodennäköistähän tuo on, mutta jos käyttäjiä on paljon samaan aikaan, niin riski on toki olemassa.
Minulla on hyvin vähän (ts. ollenkaan) kokemusta tuollaisten julkisten megapalveluiden tekemisestä, joten en tämän parempia vinkkejä osaa antaa. Tähän mennessä kaikki ovat toimineet jopa ilman tiedostojen lukitsemistakin. Sen vain tiedän, että ruuhkat aiheuttavat monesti arvaamattomia ongelmia.Ei tarvitse edes olla 'megapalvelu'. Vaikka pieni käyttäjän internet-yhteyden tökähtäminen ja kaksi pyyntöä suoritetaankin samanaikaisesti.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1697001
Klaukkalan onnettomuus 4.4
Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes622633- 562168
Kolari Klaukkala
Kaksi teinityttö kuoli. Vastaantulijoille ei käynyt mitenkään. Mikä auto ja malli telineillä oli entä se toinen auto? Se641321Ukraina ja Zelenskyn ylläpitämä sota tuhoaa Euroopan, ei Venäjä
Mutta tätä ei YLE eikä Helsingin Sanomat kerto.3561279- 561254
Ooo! Kaija Koo saa kesämökille öky-rempan:jättimäinen terde, poreallas... Katso ennen-jälkeen kuvat!
Wow, nyt on Kaija Koon mökkipihalla kyllä iso muutos! Miltä näyttää, haluaisitko omalle mökillesi vaikkapa samanlaisen l151158Toivoisin, että lähentyisit kanssani
Tänään koin, että välillämme oli enemmän. Kummatkin katsoivat pidempään kuin tavallisesti toista silmiin. En tiedä mistä17990Kevyt on olo
Tiedättekö, että olo kevenee kummasti, kun päästää turhista asioista tai ihmisistä irti! Tämä on hyvä näin <384978Olisinpa jo siellä, otatkohan minut vastaan
Olisitpa lähelläni ja antaisit minun maalata sinulle kuvaa siitä kaikesta ikävästä, tuskasta, epävarmuudesta ja mieleni79970