2010-11-21 9 views
0

.php dosyalarındaki bazı verileri /library/ dizininde saklayan bir uygulama var, örneğin . /library/config.php.include_path veya her php dosyasını değiştir

Eski barınağımdaki library içerme yolundaydı, bu yüzden gerçek yolu sağlamadan her yerde require('config.php') yapabilirdim.

Ekleme yolunu güncellemek için her .php dosyasını otomatik olarak ekleme şansı var mı?

  • uygulaması Ben include_path
  • zaten mevcut dirs herhangi birine doğrudan erişime sahip php.ini
  • erişimi yok ön kontrolör deseni
  • takip etmez:

    bazı durumlar vardır

  • ben kullanamıyorum php_flag include_path
  • kullanamaz php_flag auto_prepend_file
  • bazı .php dosyaları ctrl+H daha .htaccess

başka yol var kendi kuralları vardır ve <? set_include_path… ile <? yerine?

Düzenleme:

Ben benzer bir şey olması için olurdu Aradıklarım

: Eğer zamanında dahil yolunu (ayarlamak için kütüphane dosyaları gereken yere

RewriteCond %{REQUEST_FILENAME} !-F 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (^*\.php)$ /library/$1 [NC,L] 

cevap

0

dosyasının en üstünde set_include_path() ekle php.ini veya .htaccess dosyalarına dokunmaya gerek yoktur.

set_include_path(dirname(__FILE__).'/library'.PATH_SEPARATOR.get_include_path()); 

Bu, kitaplık yolunuzu geçerli içerme yoluna önceden ekler ve dosyaları doğrudan kullanılabilir hale getirir. Kütüphane yolunuzu eşleştirmek için '/library''u ayarlamanız gerekir (geçerli dosyanın konumuna göre).

+0

Bu benim ctrl + h' çözümüm. Başka var mı? – takeshin

+0

Yukarıdaki dosyayı bir kez ortak bir dosyada yapmanızı ve bunu gerektiren diğer her dosyada eklemenizi öneririm. Bu, kodunuzu çok daha kalıcı hale getirir, çünkü bir şey değiştiğinde (kütüphane yolu gibi) her dosyaya dokunmanız gerekmez. Ayrıca, kısa açık etiketler kullanmamayı tavsiye ederim (xml bildirimleriyle çakıştığından ' jwueller

0

ini_set() yasaklı mıdır? Hangi da include_path değiştirmenize izin veriyor.

+0

Ne 'ini_set' ne de set_inlcude_path' devre dışı, ancak burada durum böyle değil. – takeshin