Autor |
Nachricht |
jkocovski
Dabei seit: 30.12.2006
Ort: Frankfurt am Main
Alter: 49
Geschlecht:
|
Verfasst Di 16.01.2007 14:03
Titel
|
|
|
also wenn es den umbedingt ein file sein muss... dann würde ich das wie folgt lösen:
1. script erstellt per user ein file in irgendeinem temp ordner der dem projekt zugewiesen wurde. als dateinamen nimmt man ein rand() mit 32 zeichen... wenn man ganz paranoid ist, dann nimmt man zusätzlich dazu noch einen unix tik und hat garantiert unique dateinamen. letztendlich hat man dann für jeden user erstmal ein eigenes file erstellt
2. in periodischen abständen kann man dann einen cronjob laufen lassen der einem aus den vielen kleinen files ein großes erstellt... nur nicht vergessen das man die temp files auch öschen sollte
das ist zwar nicht sonderlich sexy... aber zumindest in soweit sicher das mein keine missglückten locks hat oder plötzlich leere files
cheers,
--jan
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
|
|
|
|
Anzeige
|
|
|
jkocovski
Dabei seit: 30.12.2006
Ort: Frankfurt am Main
Alter: 49
Geschlecht:
|
Verfasst Di 16.01.2007 14:52
Titel
|
|
|
gebe dir recht das dies nach dem einsdatz einer db schreit... denoch ist der von mir beschriebene teil sicherlich kein schwachsinn... uniqueid() erzeugt zwar einen string der bedingt durch die länge eher selten eine wiederholung finden sollte... aber er ist eben NICHT unique und ausserdem kann man durch die bekannten parameter eine recht genaue angabe treffen wann welcher string ausgegeben wird...
der einfachste weg einen absolut unique string zu erzeugen ist eben rand() ...(ja man kann diesen teil auch mit uniqueid() machen) und dann ein unix tik dahinter...
oder man macht ein hash aus den eigegebenene daten... wäre auch ne option...oder ...oder ...oder... es gibt sicherlich eine reihe von wegen das thema zu lösen...
nochmal: auch ich wäre eher für einen db basierte lösung, dann kann man sich den kram "von hinten über die schulter dann ins knie) locker sparen
|
|
|
|
|
pRiMUS
Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht:
|
Verfasst Di 16.01.2007 16:55
Titel
|
|
|
Zitat: |
... es erfolgt also nie wieder ein zugriff auf bereits geschriebene daten ...
|
für was dann überhaupt eine datei schreiben? die daten printen und nen csv header mitschicken das die datei direkt zum download angeboten wird. somit bist du die sorgen von dateiüberschreibungen los.
|
|
|
|
|
schachbrett
Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht:
|
Verfasst Mi 17.01.2007 09:20
Titel
|
|
|
Code: | function logData( $filename, $data )
{
$lockhandle = fopen( $filename . ".lock", "w" );
if( flock( $lockhandle, LOCK_EX + LOCK_NB ) ) {
$filehandle = fopen( $filename, "a+" );
fwrite( $filehandle, $data );
fclose( $filehandle );
flock( $lockhandle, LOCK_UN );
fclose( $lockhandle );
return true;
}
return false;
} |
So bleibt die Datei vom Oeffnen mit fopen() bis zum Schliessen mit fclose() blockiert.
|
|
|
|
|
jkocovski
Dabei seit: 30.12.2006
Ort: Frankfurt am Main
Alter: 49
Geschlecht:
|
Verfasst Mi 17.01.2007 09:23
Titel
|
|
|
damit hast du recht...aber ich denke nicht das der sinn seiner funktion ist das nur ein user concurrent die datei schreiben kann ausserdem bräuchte er dann noch eine user queue... ansonsten wäre es ja nach dem prinzip "first come, first serve" und das ist irgendwie uncool
|
|
|
|
|
schachbrett
Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht:
|
Verfasst Mi 17.01.2007 09:39
Titel
|
|
|
Hey, bist du zweisprachig aufgewachsen?
Das eigentliche Problem ist es doch, einen sicheren Schreibzugriff auf Dateien zu gewaehrleisten...
|
|
|
|
|
|
|
|
Ähnliche Themen |
Formulardaten in csv
Formulardaten in Datenbank und PDF ausgeben
InDesign CS6: PDF Formulardaten senden
OOP in PHP für Noob - Formulardaten verarbeiten
PDF Formulardaten Sende-Problem
hilfe: formulardaten per email versenden(php)
|
|