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

407

    Vastaukset 4

    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. Mikä kaivatussasi

      on parasta?
      Ikävä
      90
      1348
    2. Koska muru nähdään

      Kaksin?
      Ikävä
      46
      728
    3. Et vaan tajua

      Että rakastan sua
      Ikävä
      20
      659
    4. Sinisilmäiselle tutulle miehelle

      Iltaisin ikävä pahenee ja olet usein mielessä. Toivon merkitseväni sinulle paljon. On ihan hirveän vaikeaa miettiä, mit
      Ikävä
      49
      640
    5. Sanoppa ihan rohkeasti

      Mun huonot puolet! En suutu…
      Ikävä
      80
      626
    6. Olen jo oppinut tuntemaan

      sinun kirjoitustyylisi
      Ikävä
      53
      618
    7. Mikä kaivatussasi

      on pahinta?
      Tunteet
      47
      591
    8. Mikä herkku

      Kaivattusi On? 😁
      Ikävä
      50
      573
    9. Nainen ... ala olemaan miehille täysin hyödytön

      Otsikossa on paras neuvo jokaiselle naiselle, jonka hän voi koskaan saada. Moni mieshän ajattelee jo nyt, että naiset o
      Sinkut
      132
      568
    10. Ylen typerät rinnastukset.

      Näin YLE…..Saksassa ei ole äärioikeisto ollut vallassa sitten Hitlerin . YLEn toimittajille tiedoksi . Hitler oli Saksan
      Maailman menoa
      192
      553
    Aihe