Aiun Geschrieben 18. Oktober 2006 Geschrieben 18. Oktober 2006 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 Zitieren
SatansEier Geschrieben 18. Oktober 2006 Geschrieben 18. Oktober 2006 $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: Zitieren
Aiun Geschrieben 18. Oktober 2006 Autor Geschrieben 18. Oktober 2006 es geht hier um eine Datei für alle User, daher kein Datenmüll. "aber" befürchtetes Read-/Writelock Problem Zitieren
etreu Geschrieben 18. Oktober 2006 Geschrieben 18. Oktober 2006 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. Zitieren
Aiun Geschrieben 18. Oktober 2006 Autor Geschrieben 18. Oktober 2006 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) Zitieren
etreu Geschrieben 18. Oktober 2006 Geschrieben 18. Oktober 2006 Eine gute Anlaufstelle könnte pear.php.net sein. Die Suche nach 'Shared Memory' bringt die Ergebnisse: http://pear.php.net/package/Stream_SHM und http://pear.php.net/package/System_SharedMemory Was die Lizenzen angeht, habe ich keine Ahnung. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.