Mailinglisten-Archive |
> On Fri, 19 Feb 1999 13:17:24 +0100, Daniel Stüwe wrote: > > >NOCH nicht aus der DB gelöscht nach einer bestimmten Expire-Time. > >Hat dafuer jemand eine Lösung ? Hmm, ich habe da mal ein PHP-Script als crontab-job gebaut, kann aber sein, dass es zu speziell fuer dich ist: -------------------- #!/usr/local/bin/php -q <?php $DBF= $argv[1]; // database $TBL= $argv[2]; // table in database $DATFLD= $argv[3]; // date-field in table $EXPIRE= $argv[4]; // expire days $ACTION= $argv[5]; /* What it does: Open table $TBL in Database $DBF and delete every record, in which the unix timestamp of $DATFLD is older than $EXPIRE days. */ $now= time(); $now -= (86400 * $EXPIRE) ; // 86400 <> 1 day :-) msql_connect("localhost"); $result= msql($DBF, "select * from $TBL WHERE $DATFLD < '$now'"); $num= msql_numrows($result); echo "$DBF/$TBL: [$num] records older than $EXPIRE days.\n"; if(isset($ACTION) && strtoupper($ACTION)=="DELETE") { $result= msql($DBF, "delete from $TBL WHERE $DATFLD < '$now'"); echo "*** [$num] records deleted ***\n"; } ?> -------------------- Aufruf (z.b. aus der crontab) dann: scriptname database table field expir_days [delete] By(e) Emu -- | Emilio Paolini <ep_(at)_IM-NETZ.de>......................... 13349 Berlin | IM-NETZ Internet Services, Berlin............. http://www.IM-NETZ.de | Telekom ...................... ++49 30 4511000 (Q) und 0177 451 2000
php::bar PHP Wiki - Listenarchive