5 forsøker å skrive til fil samtidig

kongen

kongemedlem
Jeg har denne koden for å putte ting i en .txt fil

PHP:
file_put_contents('fil.txt', $tekst, FILE_APPEND | LOCK_EX);

Filen låses når det prøves å skrive til. Hvis 5 forsøker å skrive til filen samtidig vil webserveren legge kommandoene i kø for så å skrive til filen når det blir ledig (slik at alle 5 for skrevet til filen), eller vil de 4 siste ikke bli lagt til i filen?

Hvis jeg fjerner LOCK_EX og filen ikke låses, og de forsøker å skrive samtidig, vil de starte på samme linje og lage bare krøll, eller vil webserveren legge til 5 nye linjer?

Når man bruker FILE_APPEND, vil det som blir lagt til i filen starte på ny linje, eller starter det på samme linje som allerede lagret tekst slutter.
 

kongen

kongemedlem
Vil en loop kunne legge brukerne i "kø" til å skrive til filen? Er denne koden bra?

PHP:
for ($i=0; $=0; $i++) {
$fil = fopen('fil.txt','a');
if (flock($fil, LOCK_EX)) {
    fwrite($fil, $tekst);
    flock($fil, LOCK_UN);
    }
fclose($fil);
}

eller hva med denne?

PHP:
$i = 0;
while ($i = 0){
$fil = fopen('fil.txt','a');
if (flock($fil, LOCK_EX)) {
    fwrite($fil, $tekst);
    flock($fil, LOCK_UN);
    $i++;
    }
fclose($fil);
}

Bør fclose($fil); ligge der den er eller skal den et hakk lengre opp, inne i if'en?
 
Topp