txt als database, meerdere instanties mogelijk?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ruben D

Ruben D

31/08/2012 16:35:43
Quote Anchor link
Als ik een txt bestand zou gebruiken als simpele database is het dan mogelijk om een php pagina in het bestand te laten schrijven? terwijl een andere het ook open heeft staan om iets te schrijven?

Of is het gelijk windows en als het bestand in gebruik is kan niemand anders iets opslaan?
 
PHP hulp

PHP hulp

28/03/2024 20:33:14
 
Kris Peeters

Kris Peeters

31/08/2012 16:43:57
Quote Anchor link
Ruben D op 31/08/2012 16:35:43:
... terwijl een andere het ook open heeft staan ...


Hoe bedoel je?

We spreken over een .txt bestand dat op de server staat. Bedoel je dat die andere persoon op die server is ingelogd en het bestand met kladblok (of iets anders) open heeft staan?
Gewijzigd op 31/08/2012 16:47:48 door Kris Peeters
 
Ruben D

Ruben D

31/08/2012 16:46:11
Quote Anchor link
min of meer, zeg dat er 100 man op exact hetzelfde moment gegevens post naar het tekst bestand, gaat dat tegelijk?
 
Kris Peeters

Kris Peeters

31/08/2012 16:48:01
Quote Anchor link
Want anders... Een verzoek naar de server gebeurt heel snel. Voor zover ik weet zou het niet moeten voorkomen dat het ene verzoek halverwege is, en daardoor een volgende verzoek verhindert (in dit geval om een file te lezen en aanpassen).

Weet iemand meer?
 
Ruben D

Ruben D

31/08/2012 16:49:38
Quote Anchor link
Ik weet dat het snel gaat ja, weet zelfs niet hoe dat bij een mysql db zit. vroeg het mij af of ze elkaar zouden hinderen.
 
John Berg

John Berg

31/08/2012 16:50:39
Quote Anchor link
Als je met meerderen in een bestand wilt schrijven moet je voordat je gaat schrijven het bestand locken.

De lock functie zorgt er dan voor dat iedereen aan de beurt komt.

Zie http://php.net/manual/en/function.flock.php

n.b. bij een MySQL doe je dat ook, alleen daar merk je het niet.
Gewijzigd op 31/08/2012 16:51:29 door John Berg
 
Ruben D

Ruben D

31/08/2012 16:53:35
Quote Anchor link
Automatisch?, of moet je zelf een loop maken als het niet lukt opnieuw proberen.
 
John Berg

John Berg

31/08/2012 16:58:28
Quote Anchor link
Ruben D op 31/08/2012 16:53:35:
Automatisch?, of moet je zelf een loop maken als het niet lukt opnieuw proberen.


Als je een flock geeft kom je in een wachtrij te staan. Zodra je aan beurt bent kun je jouw ding met de file doen.

Moet je te lang wachen, dan breekt de lock af en krijg je een foutmelding.

Het is dus van belang om als je aan de beurt bent, jouw ding zo snel mogelijk te doen, en dan het spul weer vrij te geven.
 
Eddy E

Eddy E

31/08/2012 17:05:35
Quote Anchor link
Kortom: ga SQL gebruiken!
En flock() is inderdaad hetgeen je nodig hebt.
Met fopen() en fclose() kan je dan nog wel het een en ander doen.


Een tekst-database heb ik ook even mee gewerkt (omdat er nog geen SQL-was), maar ben heel blij dat die uiteindelijk wel gekomen is.
 
Ruben D

Ruben D

31/08/2012 17:11:01
Quote Anchor link
Vond mysql beetje overbodig tot nu, maar hoe gebeurt dit daar dan? zelfde systeem?
 
John Berg

John Berg

31/08/2012 17:13:14
Quote Anchor link
Ruben D op 31/08/2012 17:11:01:
Vond mysql beetje overbodig tot nu, maar hoe gebeurt dit daar dan? zelfde systeem?


In beginsel wel. Afhankelijk van wat er moet gebeuren kan er op
database, tabel, block of record level gelockt worden.

Gaat helemaal vanzelf, evenals het oplossen van eventuele conflicten.
 
Ruben D

Ruben D

31/08/2012 17:14:26
Quote Anchor link
nice, bedankt allemaal
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.