Hallo,
Aangezien er nog geen class was voor INI Files ben ik er zelf maar een gaan schrijven. Alle functies werken maar er is één belangrijk probleem. Mijn class gebruikt buffering om de snelheid te vergroten. Bij de functie $ini->connect("file.ini"); wordt alle data uit het bestand gehaald en in een Array geplaatst, pas bij de functie $ini->close($link_identifer); wordt alle data naar het bestand teruggeschreven.
Maar dan nu het grote probleem:
Waneer twee mensen tegelijk, hetzelfde bestand willen aanpassen ontstaan er problemen.
Voor het gemakt zat ik de twee gebruikers X en Y noemen.
[example]
Inhoud van test.ini:
[gegevens]
voornaam=Piet
achternaam=Heijn
X opent het bestand "test.ini"
Y opent het bestand "test.ini"
Tot zover geen problemen, zowel X als Y hebben dezelfde buffer.
Maar dan gaat zowel X als Y veranderingen doorvoeren.
X veranderd de voornaam in Klaas. zijn buffer is nu:
[gegevens]
voornaam=Klaas
achternaam=Heijn
Y veranderd de achternaam in Kaas. Zijn buffer is nu:
[gegevens]
voornaam=Piet
achternaam=Kaas
Als nu eerst X de gegevens wegschrijft en daarna Y dan worden de aanpassingen van X overschreven door die van Y.
[/example]
Zoals jullie zien schuilt hier dus een groot probleem in. Ik heb al enkele dagen nagedacht over een oplossing, maar ik kan er geen vinden (geen goede...).
Als een van jullie een goede oplossing weet, vertel het me, want ik wordt gek.
Alvast bedankt
Aangezien er nog geen class was voor INI Files ben ik er zelf maar een gaan schrijven. Alle functies werken maar er is één belangrijk probleem. Mijn class gebruikt buffering om de snelheid te vergroten. Bij de functie $ini->connect("file.ini"); wordt alle data uit het bestand gehaald en in een Array geplaatst, pas bij de functie $ini->close($link_identifer); wordt alle data naar het bestand teruggeschreven.
Maar dan nu het grote probleem:
Waneer twee mensen tegelijk, hetzelfde bestand willen aanpassen ontstaan er problemen.
Voor het gemakt zat ik de twee gebruikers X en Y noemen.
[example]
Inhoud van test.ini:
[gegevens]
voornaam=Piet
achternaam=Heijn
X opent het bestand "test.ini"
Y opent het bestand "test.ini"
Tot zover geen problemen, zowel X als Y hebben dezelfde buffer.
Maar dan gaat zowel X als Y veranderingen doorvoeren.
X veranderd de voornaam in Klaas. zijn buffer is nu:
[gegevens]
voornaam=Klaas
achternaam=Heijn
Y veranderd de achternaam in Kaas. Zijn buffer is nu:
[gegevens]
voornaam=Piet
achternaam=Kaas
Als nu eerst X de gegevens wegschrijft en daarna Y dan worden de aanpassingen van X overschreven door die van Y.
[/example]
Zoals jullie zien schuilt hier dus een groot probleem in. Ik heb al enkele dagen nagedacht over een oplossing, maar ik kan er geen vinden (geen goede...).
Als een van jullie een goede oplossing weet, vertel het me, want ik wordt gek.
Alvast bedankt