htaccess php .htaccess include-path

htaccess - php echo include path



Cómo anexar una ruta a include_path de PHP en.htaccess (2)

Actualmente en mi sitio estoy usando declaraciones como:

include ''head.php''; include ''../head.php''; include ''../../head.php'';

dependiendo de la cantidad de carpetas anidadas que soy. Estoy seguro de que hay una mejor manera de hacer esto.

Estoy convencido de que .htaccess es la solución, pero no estoy seguro de cómo implementarlo. Si inserto:

php_value include_path "public/html/root"

... Perdí el resto de mis rutas ( /usr/lib/php , etc.). Intenté ingenuamente:

php_value include_path $include_path . "(path)"

pero por supuesto esto no funcionó. ¿Cómo podría anteponer o anexar una sola ruta a esta lista con .htaccess ?


Crea en los subdirectorios un archivo .htaccess con los contenidos

php_value include_path ''../../includes''

o lo que sea include_path es correcto para ese directorio.

Ventajas:

  1. No hack feo con múltiples incluye con diferente profundidad. Solo include ''head.php'' .
  2. Sin dependencia en la edición de php.ini .
  3. No es necesario usar set_include_path() antes de incluir.
  4. Ninguna dependencia en incluir constantes como include INCLUDE_PATH . ''head.php'' include INCLUDE_PATH . ''head.php'' .

Precio a pagar:

Usted ensucia sus subdirectorios cada uno con un archivo .htaccess .


Si no puede editar el archivo php.ini , puede agregar

set_include_path(get_include_path() . PATH_SEPARATOR . $path_to_add);

antes de sus declaraciones de include .

Sin embargo, si usted tiene problemas para include o require , es probable que sea un olor a código. La mejor solución sería un buen diseño orientado a objetos con una buena función __autoload .