UNTESTED (могут быть ошибки):
set_time_limit(3600*24); //24 hours
$numDownloads = 12;
for ($i = 0; $i < $numDownloads; $i++)
{
$ch = curl_init('http://www.example.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
curl_close($ch);
if (preg_match('/<div>(.*?)<\/div>/i', $content, $matches))
{
$divContents = $matches[1];
$myFile = 'div'.$i.'.txt';
if ($fh = fopen($myFile, 'w'))
{
fwrite($fh, $divContents)
}
fclose($fh);
}
sleep(3600*2);
}
Я предлагаю вам сбросить цикл и запустить его на задании cron, хотя ....