1)Получаем информацию о страницы. Если ее не существует(4**),то надо завершить скрипт и выдать соответствующее уведомление,что страницы нет.
2)Если страница есть,скачиваем с нее файл.Вдруг произошла какая-то ошибка во время скачивания(инет скакнул) завершить скрипт и уведомить,что файл не был скачан.
3)Проверяем,есть ли такой файл в БД.Если есть, останавливаем скрипт и говорим,что файл уже есть.
4)Далее записываем в БД всю информацию о файле.Вдруг произошла ошибка при записи(БД упала или еще что) останавливем скрипт и уведомляем пользователя,что файл был скачан,но в БД не был записан.
И т.д.
То есть они должны выполняться последовательно как бы.
Уместно ли будет тут try {} catch,killer8080 ?
![sad.gif](http://phpforum.su/html/emoticons/sad.gif)