phpbar.de logo

Mailinglisten-Archive

[php] Reload Sperre

[php] Reload Sperre

Ulf Wendel UW_(at)_NetUSE.DE
Thu, 02 Mar 2000 10:28:59 +0100


Rene Paschold wrote:
> 
> From: Ulf Wendel <ulf_(at)_redsys.de>
> ich mal sehen wie das geht !!! Wie schreibt man Datum in die DB und
> wie kann man sie vergleichen bzw. Functionen auslösen wenn ein Datum
> erreicht ist. Sorry für die vielen Fragen aber wenn ich es einmal kann
> dann keine Fragen mehr *grins*

Also Rene, das wurde doch nun zu genüge diskutiert. Jede Woche
einmal.
Unten siehst Du Code für einen timestamp(14).

> > Damit die Datenbanktabelle nicht endlos viele Daten enthält, baust
> Du
> > Dir eine zufallsgesteuerte garbage collection, die bei jedem x-ten
> > Aufruf aufräumt.
> 
> Wie geht das denn?? *hochinteressant*

/**
* Wahrscheinlichkeit mit der die Garbage Collection ausgeführt
wird
* _(at)_field	int	$probability im Mittel bei jedem x.ten Aufruf 
* _(at)_access	private 
*/
var $probability = 10;

/**
* Wieviele Tage alt dürfen Einträge in der Session Tabelle werden
* _(at)_field	int	$garbagedelay
* _(at)_access	private
*/
var $garbagedelay = 3;

/**
* Garbage Collection zur Beseitigung von abgelaufenen Sessions
* _(at)_param	void
* _(at)_return	boolean 
* _(at)_access	private
/
function GarbageCollection() {
  
  if (rand(0, $this->probability) != $this->probability )
    return false;
  
  $olddate = date ("YmdHis", mktime(0,0,0, date("m"),
date("d")-$this->garbagedelay, date("Y")));
  $query = sprintf("delete from sessions where changed<'%s' ",
$olddate );

  return _(at)_mysql_query($query, $this->dbconnection);
} // end func GarbageCollection

/**
* Ausführende Session Funktion
* _(at)_access	public
*/
function do() {

  $this->GarbageCollection();
  [...]
} // end func do

Grüße,

Ulf

-- 
Ulf Wendel
NetUSE Kommunikationstechnologie GmbH
Siemenswall, D-24107 Kiel, Germany
Fon: +49 431 386435 00  --  Fax: +49 431 386435 99


php::bar PHP Wiki   -   Listenarchive