Avatar billede walden Nybegynder
22. januar 2008 - 23:39 Der er 3 kommentarer og
1 løsning

fputs til samme fil på samme tid

Mit spørgsmål går på om denne kode er gangbar (virker).

Jeg vil gerne ungå, at fx to personer kommer til at skrive til filen "test.txt" på præcist samme tid. Jeg har derfor brugt "LOCK_EX" og "LOCK_UN". Jeg er bare ikke sikker på om jeg har gjort det korrekt?

Her er koden:

$page = test.txt";
$fileMessage = hallo hallo";
  if (file_exists("$page")):
    $cartFile = fopen("$page","w+");
    flock( $cartFile, LOCK_EX );
    fputs($cartFile,$fileMessage);
    flock( $cartFile, LOCK_UN );
    fclose($cartFile);
endif;

Pft. Walden
Avatar billede walden Nybegynder
23. januar 2008 - 09:57 #1
Er det slet ingen, der har et bud på om denne kode er gangbar?

Spørgsmålet går som sagt på, om brugen af flock( $cartFile, LOCK_EX ); og flock( $cartFile, LOCK_UN ); er korrekt og om det forhindrer flere brugere i at skrive til den samme fil på samme tidspunkt?
Avatar billede bobslaede Nybegynder
23. januar 2008 - 12:00 #2
Ville det ikke både være hurtige, sikrere og bedre at bruge en database? Evt. en temporary tabel i mysql.
Avatar billede walden Nybegynder
23. januar 2008 - 13:18 #3
Det ville det sikkert, men jeg havde alligevel håbet på et svar på spørgsmålet og ikke bud på andre alternative løsninger :-)
Avatar billede walden Nybegynder
28. januar 2008 - 01:09 #4
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester