Hi Tom,
Für die Entstehungszeit der Datei reicht auch der Unix-Timestamp. Die Datensicherheit wird ja durch ['timestamp'] im "Meinstamp-Format" hergestellt.
Gut, Prima.
Was machen
flat_insert()
flat_delete()
flat_select()?
Um flat_select() habe ich mich noch gar nicht gekümmert, über flat_insert() habe ich nachgedacht und an flat_delete() sitze ich dran.
Btw. ist die Fuction flat_crate() jetzt so fertig?
function flat_create($path,$_recdata) ## recdata enthält nur ein leeres Array, ggf später mit
## mit $_recdata['fields'] Beschreibungen der Felder
{
if(file_exists($path) return 3; ## Datei existiert schon
$fp = fopen($path,"a+");
if($fp)
{
$lock = false; # Kontrollschalter, ob Locking klappt
for($x=0;$x<5;$x++)
{
$lock = (flock($fp,LOCK_EX + LOCK_NB));
if ($lock) break;
usleep(8000);
}
if ($lock)
{
if (filesize($path) > 0) ## erneuter Test, da Zeit vergangen
{
fclose($fp);
return 3;
}
list($usec, $sec) = explode(" ",microtime());
$time = date("YmdHis") . substr($usec,1,7); ## Spezail Zeitstempel
$_file = array();
$_file['meta'] = array();
$_file['data'] = array();
$_file['meta']['created'] = time();
$_file['meta']['lastupdate'] = $time;
$_file['meta']['lastid'] = 0;
$_file['meta']['amount'] = 0;
$_file_packed = serialize($_file);
fseek($fp,0);
fwrite($fp,$_file_packed,strlen($_file_packed));
fclose($fp);
return 0; #Code für kein Fehler
}
else return 8; #Code für Locken Fehler
}
else return 5; #Code für Datei nicht geöffnet
}
MfG, Dennis.
Signatur 1 von 3:
Meine Homepage: http://www.riehle-web.com
Tutorial: http://tutorial.riehle-web.com