. Htaccess PHP'nin include_path bir yol eklemek için nasıl

2 Cevap php

Şu anda sitemde ben gibi ifadeler kullanıyorum:

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

kaç iç içe klasörler bağlı derin öyleyim. Bunu yapmak için daha iyi bir yolu yoktur eminim.

I .htaccess çözümdür eminim, ama ben uygulanması hakkında gitmek nasıl emin değilim. Ben takarsanız:

php_value include_path "public/html/root"

... Benim yolları kalanı (/usr/lib/php, vb) kaybedersiniz. Ben safça denedim:

php_value include_path $include_path . "(path)"

ama tabii ki bu işe yaramadı. Nasıl Önlerine veya bu listeye tek bir yol eklemek olabilir .htaccess?

2 Cevap

Eğer php.ini kendisi dosyasını düzenlemek yapamıyorsanız, sen ekleyebilirsiniz

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

Lütfen include tabloların önünde.

Kendinizi include veya require sıkıntılar yaşıyorsanız bulmak Ancak, muhtemelen bir kod koku olduğunu. En iyi çözüm iyi bir __autoload fonksiyonu ile iyi bir nesne yönelimli tasarım olacaktır.

Içeriği ile alt-alt-dizinleri dosya .htaccess Oluştur

php_value include_path '../../includes'

veya include_path bu dizinin için doğru ne olursa olsun.

Avantajları:

  1. Birden hiçbir çirkin hack farklı derinliğe sahip bulunmaktadır. Sadece include 'head.php'.
  2. Düzenleme yok bağımlılık php.ini.
  3. Dahil olmak üzere daha önce set_include_path() kullanmaya gerek yoktur.
  4. Gibi sabitleri dahil hiçbir bağımlılık include INCLUDE_PATH . 'head.php'.

Ödeme Fiyatı:

Sen çöp senin alt-alt-dizinleri bir dosya ile her .htaccess.