Re: Cleaning up automatically when leaving a page

From: Date: Wed, 01 Jul 2009 02:02:48 +0000
Subject: Re: Cleaning up automatically when leaving a page
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-294773@lists.php.net to get a copy of this message
Mary Anderson wrote:
Hi all, I have a php application for which I have a page which creates temporary junk and puts it into a persistent store (in this case a postgres database, but that is beside the point.) I have a Save button which puts the stuff I really want into the persistent store and cleans up the temporary junk. I have a Cancel button which only cleans up the temporary junk. I would really like to have the cleanup code run anytime a user leaves the page without hitting the Save button. Is there anyway to do this? I.e. have php code called conditionally on exiting the page? Thanks Mary
I do a similar thing and put a unix timestamp on the temporary database. A cron job run once a day calls a page that deletes anything in the temporary database that has a timestamp > 24 hours old. You don't have to do it with a cron job - you can also have the function that writes to the table delete anything older than X hours if you don't have facilities to cron (though you can run the cron job from any machine, doesn't need to run on the server) something like this <?php require('dbconnect.inc.php'); $expire = time() - (24 * 60 * 60); $sql = "DELETE FROM temporary WHERE stamp < $expire"; mysql_query($sql); ?> The security of who can access it isn't important, as it only deletes what you no longer want anyway and it returns no data to the browser. Write a shell script that fetches it via wget and have cron execute it daily. Maybe there's a better way, but it works for me. For temporary files on the filesystem, I use http://linux.about.com/library/cmd/blcmdl8_tmpwatch.htm

« previous php.general (#294773) next »