Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Zähler in datei schreiben - Write/Readlock ?

Empfohlene Antworten

Veröffentlicht

hi,

Situation:

Ich habe eine Flash-datei (nicht fragen warum, ist so ^^), die eine .txt-datei ausliest, eine Zahl daraus verwendet und sobald das flash-formular abgeschickt wird, die Zahl über PHP um 1 erhöht.

Frage: wie wahrscheinlich ist ein Write/Readlock das die datei nicht gelesen und/oder geschrieben werden kann ?

derzeit liest flash selbst die Zahl aus, und schickt die gehänderte Zahl als POST zu PHP - soweit kein Problem. Leider hat flash jetzt mehrfach die Zahl gekillt und ein NaN (not a number) zurückgeschickt. Also die idee, die erhöhung um 1 auch von PHP machen zu lassen, so das die datei immer "richtig" ist, ohne durch NaN defekt zu werden.

möglich, oder datenbank nötig ?

wie gesagt, ist nur eine Zahl...hab zu wenig erfahrung damit, wann ein Read/Writelock auftritt und wann nicht ?!

danke


$content = 1; //x zahl
$myfile = $filename.".txt";
$blub = fopen($myfile ,'w');
fwrite($blub, $ontent);
fclose($blub);[/PHP]

früher......als ich noch keine sessions kannte, hab ich öfters mit solchen txts gearbeitet. leider ist die methode nicht besonders schnell und wenn sich der benutzer nicht auslogt (in meinem programm) werden die txts nicht gelöscht, so entsteht auf dauer datenmüll. :cool:

es geht hier um eine Datei für alle User, daher kein Datenmüll.

"aber" befürchtetes Read-/Writelock Problem

Wenn du ganz sicher gehen willst/must, dann kommst du wohl an einer DB-Lösung mit Transaktionen fast nicht vorbei. Wobei das hier wahrscheinlich ist, wie mit Kanonen auf Spatzen zu schiessen.

Sinnvoller wäre es allerdings Semaphoren zu benutzen (http://de.php.net/manual/de/ref.sem.php). Hier ist allerdings die Frage, ob das Modul bei dir mit einkompiliert ist.

PHP liefert zwar einen Mechanismus zum 'Sperren' von Dateien, dich dieser unterliegt ist einigen Einschränkungen und ist somit nicht 100%-id zuverlässig (siehe flock).

Mein Favorit wären hier die Semaphoren.

aaah :)

das ist etwas das ich seit längerem suche, gibt es PHP-Klassen die sich um die verwaltung von Shared Memory kümmern ? (LGPL oder ähnliche Lizenz, so das auch in verbindung mit kommerzieller Software nutzbar)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.