Hi,
Es geht darum dass ein Script mit Dateien arbeitet und ich möglichst keine Probleme mit der Nebenläufigkeit haben will, wenn mehrere Leute ein Script gleichzeitig ausführen.
In meine Beispiel geht es darum eine Datei zu schreiben. Während des Schreibens soll diese gesperrt werden. Hier derzeit mein Code:
Meine Fragen Quasi, die ich mit Hilfe der PHP Manual nicht beantworten konnte:
1. Ist das so bullshit dass ich 3x hintereinander versuche den Code auszuführen? Oder würde 1x ausreichen?
2. Nun habe ich gesehen, dass es bei flock den dritten Parameter nutzen kann. Bevor der Nutzer warten muss, würde ich hier gerne abbrechen. Allerdings ist mir nicht ganz klar, wie ich es richtig integriere. In der PHP Manual gibt es dafür leider kein Beispiel.
Das wars auch schon. Freue mich auf Feedback.
Es geht darum dass ein Script mit Dateien arbeitet und ich möglichst keine Probleme mit der Nebenläufigkeit haben will, wenn mehrere Leute ein Script gleichzeitig ausführen.
In meine Beispiel geht es darum eine Datei zu schreiben. Während des Schreibens soll diese gesperrt werden. Hier derzeit mein Code:
PHP-Code:
$fp = fopen($filename, "w+");
if ($fp)
{
flock($fp, LOCK_EX);
fwrite($fp, $new_content);
flock($fp, LOCK_UN);
fclose($fp);
}
else
{
// try again
$fp = fopen($filename, "w+");
if ($fp)
{
flock($fp, LOCK_EX);
fwrite($fp, $new_content);
flock($fp, LOCK_UN);
fclose($fp);
}
else
{
// und hier nocht ein weiteres mal
}
}
1. Ist das so bullshit dass ich 3x hintereinander versuche den Code auszuführen? Oder würde 1x ausreichen?
2. Nun habe ich gesehen, dass es bei flock den dritten Parameter nutzen kann. Bevor der Nutzer warten muss, würde ich hier gerne abbrechen. Allerdings ist mir nicht ganz klar, wie ich es richtig integriere. In der PHP Manual gibt es dafür leider kein Beispiel.
Das wars auch schon. Freue mich auf Feedback.
Kommentar