No hay una sola manera de hacer las cosas y siempre puede ser A mejor que B según las circunstancia.
Wordpress por ej., guarda en la base de datos (y permite definir lo también por una constante) la ruta de instalación, aunque cabe mencionar que el instalador la detecta la ruta automáticamente.
Si lo haces usando una constante, por lo general se la suele definir el el archivo de configuración o en uno que inicialice todo, luego como se hace, es otra cosa, pero por ej. suponiendo que el archivo en cuestión está en la raíz de la instalación del script (no confundir con raíz del dominio, ni raíz del server), una posible solución sería esta:
PHP:
define('SCRIPT_ROOT', '://'.$_SERVER["HTTP_HOST"].str_replace($_SERVER['DOCUMENT_ROOT'],'/', __DIR__.'/'));
Nótese que en ese código he colocado "://" para usar el protocolo de manera relativa (así daigual si usa http o https), pero igual puedes hacer que lo detecte y agregue de esta manera:
PHP:
define('SCRIPT_ROOT',
(empty($_SERVER['HTTPS']) ? 'http': 'https')
.'://'.$_SERVER["HTTP_HOST"].
str_replace($_SERVER['DOCUMENT_ROOT'],'/', __DIR__.'/'));
A cada problema, lo mejor siempre es comprender bien lo que usas, comprender bien el problema y luego buscar la solución (resolución logaritmos, lo primero que llevas en la Universidad), ya que picar código y aprender a tropezones, si bien consigue que a la larga se aprenda, no deja de ser menos óptimo a la larga (ojo, a la larga, porque a la corta en lo personal considero que tiene ciertos beneficios, sobre todo cuando uno recién comienza).
PD: Si hay algo que no comprendes de un código pregunta, el copy/paste siempre cobra su peaje.
kj