Например командой microtime() получаете текущее время, это стандартное время в системах юникс, от 1970 (кажется) в секундах. Пишете его в файл. Затем во время работы с помощью той же команды получаете текущее время, вычитаете из него первоначальное и проверяете разницу. Когда будет больше установленной величины (количество дней*86400, 86400 - кол-во секуды в сутках) делайте чево надо.