Изображения с большей вероятностью присутствуют или, скорее всего, отсутствуют? Если вы видите, существует ли файл, вы всегда будете использовать файл?
Если ответ на оба вопроса "да", то обязательно используйте диск. Если у вас есть основания полагать, что это будет подавляющее большинство времени, тогда используйте @file
и обрабатывайте возврат FALSE (тем более, что file_exists может иметь проблемы кросс-платформенной реализации). Я бы посчитал это более чем адекватной практикой.
Если нет, то вам нужно посмотреть на поток вашей программы:
Задать вопрос базе данных - существует ли файл?
- yes = получить файл.
- Если файл на самом деле не нужен, сделайте что-нибудь, предполагая, что файл существует
- else fetch file => удалось ли получить файл? (вы делаете эту проверку даже с запросом БД)
- да = сделать что-нибудь с файлом
- no = обновить базу данных и сделать что-нибудь без файла.
- no = сделать что-нибудь без файла. (когда будет обновлено существование файла? cron?)
Если вы планируете использовать файл, у вас есть , чтобы проверить наличие файла, если БД говорит, что это там, что означает, что единственный раз, когда вы можете оптимизировать использование БД, - это когда сам файл не нужен.