tiedoston nimeäminen juoksevana lukuna

einari ei tiedä

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!

4

359

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

    1. Poliisi: Kymmenhenkinen pohjalaisperhe ollut vuoden kateissa kansainvälinen etsintäkuulutus Poliis

      Poliisi: Kymmenhenkinen pohjalaisperhe ollut vuoden kateissa – kansainvälinen etsintäkuulutus Poliisi pyytää yleisön apu
      Maailman menoa
      325
      2871
    2. Tässä totuus jälleensyntymisestä - voit yllättyä

      Jumalasta syntyminen Raamatussa ei tässä Joh. 3:3. ole alkukielen mukaan ollenkaan sanaa uudestisyntyminen, vaan pelkä
      Jälleensyntyminen
      301
      1443
    3. Mitään järkeä?

      Että ollaan erillään? Kummankin pää on kovilla.
      Ikävä
      108
      1281
    4. Noniin rakas

      Annetaanko pikkuhiljaa jo olla, niin ehkä säilyy vienot hymyt kohdatessa. En edelleenkään halua sulle tai kenellekään mi
      Ikävä
      99
      1265
    5. En kadu sitä, että kohtasin hänet

      mutta kadun sitä, että aloin kirjoittamaan tänne palstalle. Jollain tasolla se saa vain asiat enemmän solmuun ja tekee n
      Ikävä
      83
      1261
    6. Oisko mitenkään mahdollisesti ihan pikkuisen ikävä..

      ...edes ihan pikkuisen pikkuisen ikävä sulla mua??.. Että miettisit vaikka vähän missähän se nyt on ja oiskohan hauska n
      Ikävä
      58
      1215
    7. Lapuan sanomissa käy rytinä

      Pistivät sitten päätoimittajan pihalle
      Lapua
      48
      1115
    8. Helena Koivu : Ja kohta mennään taas

      Kohta kohtalon päivä lähestyy kuinka käy Helena Koivulle ? Kenen puolella olet? Jos vastauksesi on Helenan niin voisi
      Kotimaiset julkkisjuorut
      78
      1017
    9. Au pair -työ Thaimaassa herättää kiivasta keskustelua somessa: "4cm torakoita, huumeita, tauteja..."

      Au pairit -sarjan uusi kausi herättää keskustelua Suomi24 Keskustelupalvelussa. Mielipiteitä ladataan puolesta ja vastaa
      Tv-sarjat
      24
      921
    10. Oot ihana

      Toivottavasti nähdään sattumalta jonain kesäpäivänä♥️🥺🫂
      Ikävä
      33
      827
    Aihe