Есть ли способ узнать, доступен ли PHP-скрипт напрямую или он включен.
if(__FILE__ != $_SERVER['SCRIPT_FILENAME']) { // we're in an include }
Используется ответ ceejayoz, но у меня возникают проблемы при использовании символических файлов и путей из-за __FILE__ что __FILE__ разрешается к реальному пути. Поэтому я использовал realpath() на $_SERVER['SCRIPT_FILENAME'] вместо этого, чтобы разрешить оба пути к реальному пути для решения проблемы.
if(__FILE__ != realpath($_SERVER['SCRIPT_FILENAME'])) { // we're in an include }