Run Script without loading page

I want to be able to run functions in the background of a site so that the page does not need to be loaded.

I wish for a birthday wish where the site will send an automatic Happy birthday email to the user on their birthday which would be entered on their registration.

Another would be to delete an event from an events page so many days after it had taken place. (Im not sure if i should delete the event from the database or use PHP to only display events within a certain range)

But for talks sake i want to send a happy birthday email to registered users on their birthday which they entered and is stored in the database, and delete events from the events page 7 days after it has taken place.

How can i get these to work without running a page as a user or admin.

Thanks in advance

Does your server/hosting allow for using Cron jobs? If so you should be able to use that.

Check this tutorial for some help:

Introducing Cron ยป SitePoint